home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 030a / tbscan31.zip / TBSCAN.DOC < prev    next >
Text File  |  1991-12-12  |  127KB  |  3,301 lines

  1.  
  2.  
  3.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  4.  
  5.  
  6.                                Table of Contents
  7.  
  8.     1. COPYRIGHT, LICENCES AND DISCLAIMER................ 2
  9.         1.1. Copyright................................... 2
  10.         1.2. Distribution and usage...................... 2
  11.         1.3. Disclaimer.................................. 3
  12.         1.4. Trademarks.................................. 3
  13.         1.5. Registration................................ 3
  14.         1.6. The registration key........................ 3
  15.  
  16.     2. INTRODUCTION...................................... 5
  17.         2.1. Purpose of TbScan........................... 5
  18.         2.2. A Quick start............................... 5
  19.         2.3. Historical overview......................... 5
  20.         2.4. Benefits.................................... 6
  21.             2.4.1. Speed................................. 6
  22.             2.4.2. Reliability........................... 7
  23.             2.4.3. Flexibility........................... 8
  24.             2.4.4. Smart scanning........................ 9
  25.         2.5. Limitations of scanners..................... 9
  26.         2.6. Who are we?................................ 10
  27.  
  28.     3. USAGE OF THE PROGRAM............................. 11
  29.         3.1. System requirements........................ 11
  30.         3.2. Program invokation......................... 11
  31.         3.3. While scanning............................. 12
  32.         3.4. Detecting viruses.......................... 13
  33.         3.5. The warning marks.......................... 13
  34.             3.5.1. R - Suspicious relocator............. 14
  35.             3.5.2. T - Invalid timestamp................ 15
  36.             3.5.3. ! - Branch out of code............... 15
  37.             3.5.4. # - Decryptor code found............. 15
  38.             3.5.5. D - Direct disk access............... 15
  39.             3.5.6. N - Wrong name extension............. 15
  40.             3.5.7. M - Memory resident code............. 16
  41.             3.5.8. ? - Inconsistent header.............. 16
  42.             3.5.9. E - Read or open error............... 16
  43.             3.5.10. J - Multiple jumps.................. 16
  44.             3.5.11. p - Packed or compressed file....... 16
  45.             3.5.12. w - Windows or OS/2 header.......... 17
  46.             3.5.13. h - Hidden or System file........... 17
  47.             3.5.14. i - Internal overlay................ 17
  48.             3.5.15. o - Odd stack pointer............... 17
  49.         3.6. Command line options....................... 17
  50.             3.6.1. -help................................ 18
  51.             3.6.2. -info................................ 18
  52.             3.6.3. -quick............................... 18
  53.             3.6.4. -more................................ 19
  54.             3.6.5. -mutant.............................. 19
  55.             3.6.6. -direct.............................. 19
  56.             3.6.7. -analyze............................. 20
  57.             3.6.8. -valid............................... 21
  58.  
  59.  
  60.  
  61.                                      Page i
  62.  
  63.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  64.  
  65.  
  66.             3.6.9. -once................................ 21
  67.             3.6.10. -compat............................. 21
  68.             3.6.11. -nosnow............................. 21
  69.             3.6.12. -noboot............................. 21
  70.             3.6.13. -sector............................. 22
  71.             3.6.14. -nomem.............................. 22
  72.             3.6.15. -allmem............................. 22
  73.             3.6.16. -hma................................ 22
  74.             3.6.17. -nohmem............................. 22
  75.             3.6.18. -nosub.............................. 22
  76.             3.6.19. -sub................................ 22
  77.             3.6.20. -noavr.............................. 23
  78.             3.6.21. -delete or -del..................... 23
  79.             3.6.22. -rename or -ren..................... 23
  80.             3.6.23. -batch.............................. 23
  81.             3.6.24. -repeat............................. 23
  82.             3.6.25. -log................................ 24
  83.             3.6.26. -session............................ 24
  84.             3.6.27. -loginfo............................ 24
  85.             3.6.28. -logall............................. 24
  86.             3.6.29. -data............................... 24
  87.         3.7. Examples:.................................. 24
  88.         3.8. Environment variable....................... 25
  89.         3.9. The configuration file..................... 25
  90.         3.10. The TbScan.Msg file....................... 27
  91.         3.11. Residence of the signature file........... 27
  92.         3.12. Residence of the AVR modules.............. 27
  93.         3.13. Error messages............................ 27
  94.  
  95.     4. FORMAT OF THE DATA FILE.......................... 29
  96.         4.1. Format of a signature entry................ 29
  97.         4.2. Wildcards.................................. 29
  98.         4.3. Restrictions............................... 30
  99.  
  100.     5. A VIRUS, NOW WHAT?............................... 31
  101.         5.1. Prevention................................. 31
  102.         5.2. Confirmation............................... 31
  103.         5.3. Identification............................. 32
  104.         5.4. No Panic!.................................. 32
  105.         5.5. Recovering................................. 32
  106.  
  107.     6. CONSIDERATIONS AND RECOMMENDATIONS............... 34
  108.         6.1. What should be scanned?.................... 34
  109.         6.2. The internals of TbScan.................... 35
  110.             6.2.1. How is that blazingly speed achieved? 35
  111.             6.2.2. The code interpreter................. 36
  112.             6.2.3. The algorithms....................... 37
  113.                 6.2.3.1. Checking....................... 37
  114.                 6.2.3.2. Tracing........................ 37
  115.                 6.2.3.3. Analyzing...................... 38
  116.                 6.2.3.4. Browsing....................... 38
  117.                 6.2.3.5. Skipping....................... 38
  118.  
  119.  
  120.  
  121.                                     Page ii
  122.  
  123.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  124.  
  125.  
  126.             6.2.4. The -compat option................... 39
  127.             6.2.5. Recursing through directories........ 39
  128.         6.3. How many viruses does it detect?........... 40
  129.         6.4. Testing the scanner........................ 40
  130.         6.5. Scan scheduling............................ 41
  131.         6.6. Extensions to the format of the data file.. 41
  132.         6.7. Compressed files........................... 42
  133.         6.8. Other products............................. 43
  134.  
  135.     7. MISCELLANOUS INFORMATION......................... 45
  136.         7.1. Notes...................................... 45
  137.         7.2. Exit codes................................. 45
  138.         7.3. Updates.................................... 45
  139.         7.4. Thanks..................................... 45
  140.  
  141.     8. OUR OTHER PRODUCTS............................... 46
  142.         8.1. TbScanX.................................... 46
  143.         8.2. TbRescue................................... 46
  144.         8.3. Thunderbyte................................ 47
  145.  
  146.     9. NAMES AND ADDRESSES.............................. 50
  147.         9.1. Contacting the author...................... 50
  148.         9.2. ESaSS...................................... 50
  149.         9.3. Thunderbyte support BBS's.................. 50
  150.         9.4. Recommended magazines and organisations.... 50
  151.  
  152.  
  153.  
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.                                     Page iii
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.                                      Page 1
  242.  
  243.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  244.  
  245.  
  246. 1.  COPYRIGHT, LICENCES AND DISCLAIMER
  247.  
  248.  
  249.   1.1.  Copyright
  250.  
  251.     TbScan is copyright 1988-1991 ESaSS B.V.. All rights reserved. The
  252.     diskettes provided with TbScan are not copy protected. This does not
  253.     mean that you can make unlimited copies of them. TbScan is protected
  254.     by the the copyright laws which pertain to computer software.
  255.  
  256.     No part of the printed manual accompanying TbScan may be reproduced,
  257.     transmitted, transcribed, stored in a retrieval system or translated
  258.     into any language, in any form or by any means, without the prior
  259.     written permission of ESaSS B.V..
  260.  
  261.  
  262.   1.2.  Distribution and usage
  263.  
  264.     Both TbScan and the accompanying documentation are SHARE-WARE.
  265.     You are hereby granted a license by ESaSS to distribute the
  266.     evaluation copy of TbScan and its documentation, subject to the
  267.     following conditions:
  268.  
  269.     1.   The evaluation package of TbScan may be distributed freely
  270.          without charge in evaluation form only.
  271.  
  272.     2.   The evaluation package of TbScan may not be sold, licensed, or
  273.          a fee charged for its use. If a fee is charged in connection
  274.          with TbScan, it must cover the cost of copying or dissemination
  275.          only. Such charges must be clearly identified as such by the
  276.          originating party. Under no circumstances may the purchaser be
  277.          given the impression that he is buying TbScan itself.
  278.  
  279.     3.   The evaluation package of TbScan must be presented as a
  280.          complete unit. It is not allowed to distribute the program or
  281.          the documentation separately.
  282.  
  283.     4.   Neither TbScan nor its documentation may be amended or altered
  284.          in any way.
  285.  
  286.     5.   By granting you the right to distribute the evaluation form of
  287.          TbScan, you do not become the owner of TbScan in any form.
  288.  
  289.     6.   ESaSS accepts no responsibility in case the program
  290.          malfunctions or does not function at all.
  291.  
  292.     7.   ESaSS can never be held responsible for damage, directly or
  293.          indirectly resulting from the use of TbScan.
  294.  
  295.     8.   Using TbScan means that you agree on these regulations.
  296.  
  297.     Any other use, distribution or representation of TbScan is
  298.     expressly forbidden without the written consent of ESaSS.
  299.  
  300.  
  301.                                      Page 2
  302.  
  303.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  304.  
  305.  
  306.  
  307.  
  308.  
  309.   1.3.  Disclaimer
  310.  
  311.     Neither ESaSS B.V. nor anyone else who has been involved in the
  312.     creation, production or delivery of TbScan or this manual makes any
  313.     warranties with respect to the contents of the software or this
  314.     manual and each specifically disclaims any implied warranties of
  315.     merchantability or fitness for any purpose. ESaSS B.V. reserves the
  316.     right to revise the software and the manual and to make changes from
  317.     time to time in the contents without obligation to notify any
  318.     person.
  319.  
  320.  
  321.   1.4.  Trademarks.
  322.  
  323.     TbScan, TbScanX and Thunderbyte PC Immunizer are registered
  324.     trademarks of ESaSS B.V.. All other product names mentioned are
  325.     ackowledged to be the marks of their producing companies.
  326.  
  327.  
  328.   1.5.  Registration.
  329.  
  330.     THIS IS NOT FREE SOFTWARE! If you paid a "public domain" vendor for
  331.     this program, you paid for the service of copying the program, and
  332.     not for the program itself. Rest assured that nothing ever gets to
  333.     the originators of this product from such a sale. You may evaluate
  334.     this product, but if you make use of it, you must register your
  335.     copy.
  336.  
  337.     To register: fill in the file REGISTER.DOC and return it to us.
  338.  
  339.     We offer several inducements to you for registering. First of all,
  340.     you receive the most up-to-date copy of the program that we have
  341.     (we do update the product on a regular basis). You also receive
  342.     support for TbScan, which can be quite valuable at times. You also
  343.     receive complete printed documentation for the product. A
  344.     "do-it-yourself" update service is offered to registered users
  345.     through our own support BBS. And finally, we include an evaluation
  346.     package of some of our other software products. Make no mistake,
  347.     however -- this is a fully functional version of TbScan and not
  348.     "crippled" in any way.
  349.  
  350.     Once you registered TbScan all future upgrades are for free.
  351.  
  352.     Thunderbyte users are automatically licensed to use TbScan on the
  353.     machine where the Thunderbyte add-on card is installed.
  354.  
  355.  
  356.   1.6.  The registration key
  357.  
  358.  
  359.  
  360.  
  361.                                      Page 3
  362.  
  363.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  364.  
  365.  
  366.     Registered users receive a key file named TbScan.KEY. The key file
  367.     contains some information like the license number and name of the
  368.     license holder.
  369.  
  370.     It is NOT allowed to sell or give away the key file TbScan.KEY.
  371.  
  372.     TbScan searches for the key file in the current directory. If it
  373.     does not find it it searches in the same directory as the program
  374.     file TBSCAN.EXE itself is located (only DOS 3+).
  375.  
  376.     If the key file is corrupted or invalid, TbScan continues without
  377.     error message, but in that case you are running a SHARE-WARE version
  378.     instead of the registered version. If your key is only valid for
  379.     TbScanX.COM (the memory resident version), TbScan ignores it.
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.                                      Page 4
  422.  
  423.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  424.  
  425.  
  426. 2.  INTRODUCTION
  427.  
  428.  
  429.   2.1.  Purpose of TbScan
  430.  
  431.     TbScan is a program that was developed to trace viruses, Trojan
  432.     Horses and other threats to your valuable data. It is a so-called
  433.     virus scanner.
  434.  
  435.     A virus scanner is a program that is able to search a virus
  436.     signature that has been determined beforehand.  Most viruses
  437.     consist of a unique sequence of instructions, called a signature,
  438.     so by means of checking for the appearance of this signature in a
  439.     file we can see whether or not a program has been infected.
  440.  
  441.     By searching all your program files for the signatures of all
  442.     viruses already identified you can easily find whether your system
  443.     has been infected and, if that is the case, with which virus.
  444.  
  445.     Every PC owner should use a virus scanner frequently. It is the least
  446.     he or she can do to avoid possible damage caused by a virus.
  447.  
  448.  
  449.   2.2.  A Quick start
  450.  
  451.     Although we recommend to read this complete manual carefully, here are
  452.     already some directions how to use TbScan:
  453.  
  454.     Type "TbScan C:\". This will be sufficient for a standard scan session.
  455.     It is allowed to specify more drives: "TbScan C:\ D:\".
  456.  
  457.     The invokation syntaxis is:
  458.             TBSCAN [@][<path>][<filename>]... [<options>]...
  459.  
  460.     For fast online help type "TbScan -?" or "TbScan -help". The latter
  461.     will provide a more detailed description of the command line options.
  462.  
  463.  
  464.   2.3.  Historical overview
  465.  
  466.     Some years ago the community was confrontated with a new
  467.     phenomenon: Computer viruses. In the early days of computer viruses
  468.     people had to look into an infected file to determine whether it
  469.     has been infected by looking for a virus specific code pattern. It
  470.     doesn't take long before programmers created little programs that
  471.     were able to tell whether a specific program was infected or not.
  472.     Enhanced versions of these programs were able to search
  473.     automatically for all files. In a short time there were
  474.     dedicated scanner programs for every known virus. When the number
  475.     of viruses increases, programmers started to combine several scan
  476.     programs into one, the multi-string scanner was born.
  477.  
  478.  
  479.  
  480.  
  481.                                      Page 5
  482.  
  483.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  484.  
  485.  
  486.     These scanners worked fine, but the amount of viruses was growing,
  487.     and the need for frequent updates increased. The number of scanning
  488.     programs also increased, and scanning programs detected the
  489.     internal search patterns (signatures) of each other thinking they
  490.     had found a virus, and a lot of people get confused by these false
  491.     alarms.
  492.  
  493.     A solution to both of these problems was to separate the search
  494.     engine and the signatures. Signatures can be distributed more
  495.     quickly and via text media, and by separating the search patterns
  496.     from the executable file, other scanners were no longer triggered
  497.     by these search patterns.
  498.  
  499.     TbScan uses a file with the name Virscan.Dat, originally created
  500.     for a program called Virscan.Exe. When Virscan.Exe was developed,
  501.     the number of viruses was still little compared with the current
  502.     situation. When the number of viruses increased, Virscan slows down
  503.     for every signature added.
  504.  
  505.     At that time we developed the Thunderbyte add-on card, an universal
  506.     anti-virus device. Since Thunderbyte recognizes virus activities
  507.     rather than signatures, it can only tell whether a system is
  508.     infected, but it will never be able to tell you the name of the
  509.     virus. To overcome this, we decided to supply a virus scanner with
  510.     our product, and we developed TbScan.
  511.  
  512.     We introduced many very sophisticated idea's in the first version
  513.     of TbScan, and today, many competitive products have adapted some
  514.     of these new idea's. Some of these idea's are: the use of wildcards
  515.     in the signature, scanning the memory of the PC, scanning only
  516.     specific parts of a file rather than the complete file, etc.
  517.  
  518.  
  519.   2.4.  Benefits
  520.  
  521.     By now already lots of virus scanners have been developed.  However
  522.     TbScan has a number of important and unique characteristics. These
  523.     are:
  524.  
  525.     2.4.1.  Speed
  526.  
  527.         Most virus scanners do not operate very fast.  This is
  528.         nevertheless very important because you are surely one of those
  529.         people who do not like to stare at their display for a quarter
  530.         of an hour. When a program works slowly it is used less often,
  531.         that is a fact.  And even the best virus scanner is worthless
  532.         when it is not used. Our goal was to create a scanner even fast
  533.         enough to be invoked from within the autoexec.bat file every
  534.         morning.
  535.  
  536.         The high speed is achived by many smart measures. For instance,
  537.         it is not required to scan a complete file to find a virus, and
  538.  
  539.  
  540.  
  541.                                      Page 6
  542.  
  543.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  544.  
  545.  
  546.         TbScan will disassemble the file to locate the viral code. The
  547.         search routine itself is highly optimized, TbScan has an
  548.         internal scan-specific disk cacher, etc.  For more information
  549.         about the internals of TbScan read chapter 6.2.
  550.  
  551.         The speed depends on many system characteristics, so we will
  552.         not tell you how many times faster TbScan performs, but you can
  553.         easily test it by yourself. The speed of our program has been
  554.         increased with almost every new release, and the current
  555.         version is faster than every other scanner known to us. Try it
  556.         yourself!
  557.  
  558.         TbScan is designed to scan for a large amount of virus
  559.         signatures. The current version of TbScan is able to scan for
  560.         over 2500 signatures (without additional memory requirements).
  561.         Because of its design, TbScan will not slow down if the number
  562.         of signatures increases. It doesn't matter whether you scan an
  563.         item for 10 or 1000 signatures.
  564.  
  565.         TbScan carries some special routines to check a stack of
  566.         diskettes at a high speed.  You don't have to signal TbScan
  567.         via the keyboard that a diskette has been changed:  It
  568.         determines this completely automatically.
  569.  
  570.     2.4.2.  Reliability
  571.  
  572.         TbScan checks itself immediately after invokation. If it
  573.         detects that it is infected it aborts with an error. This
  574.         reduces the chance that TbScan transfers a virus to another
  575.         machine after being infected.
  576.  
  577.         TbScan can bypass viruses that are already active in memory.
  578.         This is possible through a built-in interrupt debugger!
  579.  
  580.         TbScan detects even unknown viruses, because the built-in
  581.         disassembler is able to detect suspicious instruction sequences
  582.         and abnormal program lay-outs.
  583.  
  584.         A lot of viruses are memory resident, which means they lodge
  585.         themselves in the memory of your computer. From there they can
  586.         easily influence all active programs you use. There are already
  587.         viruses that "desinfect" a program file, as soon an attempt is
  588.         made to read it. When such a virus is active, a virus scanner,
  589.         reading a program file in order to check it, finds that the
  590.         file is not infected (which is true at that moment).  But after
  591.         the program file has been read the file is immediately infected
  592.         again.  So the virus scanner reports that no virus has been
  593.         found, but in reality it is actually there.
  594.  
  595.         TbScan offers a unique solution for this problem: it contains
  596.         an automatic debugger that works its way through the chain of
  597.         interrupts "single stepping" until it reaches the DOS program
  598.  
  599.  
  600.  
  601.                                      Page 7
  602.  
  603.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  604.  
  605.  
  606.         code. It saves the address which is then found and uses it for
  607.         the communication with DOS.  In this way most viruses will not
  608.         see anything of the operations of TbScan.
  609.  
  610.         TbScan is able to scan Upper Memory and the HMA.  Most of the
  611.         other scanners (still) don't recognize this memory.
  612.  
  613.         TbScan scans the video memory of your PC. Most anti-virus
  614.         products are not aware of the fact that it is possible to
  615.         install TSR's (and also viruses) in the unused video memory.
  616.         TbScanX (the resident version of TbScan) for instance even has
  617.         a special mode to store the signatures in unused video memory.
  618.         TbScan scans all memory, including the video memory, just to be
  619.         sure.
  620.  
  621.         TbScan is able to search a complete disk at sector level.  This
  622.         way no virus can remain undetected. Even already killed viruses
  623.         can be detected this way.
  624.  
  625.         TbScan is able to detect mutants of a virus. A mutant is a virus
  626.         that has been modified slightly and therefore does not match the
  627.         signature anymore. TbScan is able to detect such a mutant, even
  628.         if no wildcards are used in the virus signature.
  629.  
  630.         TbScan is able to detect droppers of bootsector viruses. A
  631.         dropper is a program that is not infected, but that is intended
  632.         to install the bootsector virus on your system.
  633.  
  634.     2.4.3.  Flexibility
  635.  
  636.         TbScan is fully programmable by means of a data file.
  637.  
  638.         Most of the time viruses spread quickly. After a new virus has
  639.         been found there is often no time to adapt your virus checker
  640.         in order to make it capable of recognizing this new virus.  That
  641.         is why TbScan uses a data file in which the signatures of the
  642.         viruses occur.  This file can quickly be adapted, possibly by
  643.         yourself, for example when you are informed of a new virus
  644.         through the media.  TbScan supports among other things the
  645.         format which is used in the file "Virscan.Dat".  This file is
  646.         regularly updated and can be obtained at a lot of data banks.
  647.  
  648.         TbScan supports wildcards in the signature. Many viruses are
  649.         adapted and converted to other viruses by the public. Such a
  650.         modified virus -a mutant- looks the same as the original virus,
  651.         but the part that contains the signature is often changed.
  652.         Scanners don't recognize the mutant anymore, and a new
  653.         signature must be extracted. TbScan is designed to approach
  654.         this problem different: by replacing the modified parts of the
  655.         signature by wildcards TbScan can still recognize all instances
  656.         of a virus. That implies that all mutants of for instance the
  657.         Jerusalem/Plo virus are covered by just one signature rather
  658.  
  659.  
  660.  
  661.                                      Page 8
  662.  
  663.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  664.  
  665.  
  666.         than 25 as some other scanners require. This also explains why
  667.         TbScan has "only" 300 signatures but still detects all 800
  668.         viruses.
  669.  
  670.         There are viruses that are so completely encrypted that it is
  671.         no longer possible to define any signature for them, even if
  672.         using wildcards. The "washburn" related viruses (like 1260 and
  673.         Casper) are such viruses. The only way to detect these viruses
  674.         is by doing an algorithmic recognition. TbScan is the first
  675.         scanner that implemented the use of so called AVR (Algorithmic
  676.         Virus Recognition) modules, which contain a dedicated routine
  677.         to detect a specific virus. An AVR-module is extremely
  678.         flexible, it can perform almost any operation necessary to
  679.         detect a specific virus.
  680.  
  681.     2.4.4.  Smart scanning
  682.  
  683.         TbScan is not just a scanner, it is a disassembling scanner.
  684.         This means that TbScan not only scans the file but also
  685.         interpretes the contents and adjust the scanning algorithm to
  686.         gain the highest reliability and speed. With reliability we
  687.         not only mean a low "false negative" ratio, but also a low
  688.         "false positive" ratio. The best scanner is not a scanner that
  689.         yells "virus!" for every file, but a scanner that only yells
  690.         "virus!" if there IS really a virus in the file.
  691.  
  692.         Besides the adjustment of the scanning algorithm, TbScan also
  693.         displays additional information about the file. It can detect
  694.         instruction sequences that are intended to write to disk
  695.         directly, to make code resident, to decrypt code, etc. TbScan
  696.         even flags files as being infected with an unknown virus if the
  697.         disassembly shows that the file contains a virus but a matching
  698.         signature can not be found. All this information is displayed
  699.         while scanning, and all in the same scan pass!
  700.  
  701.  
  702.   2.5.  Limitations of scanners
  703.  
  704.     Although TbScan is a very sophisticated scanner, it is a scanner,
  705.     and all scanners have some disadvantages in common:
  706.  
  707.     +   They cannot prevent infection.
  708.         Virus scanners can only tell you whether or not your system has
  709.         been infected and if so, whether any damage has already been
  710.         done. By then only a good (non-infected) backup can still save
  711.         you.
  712.  
  713.     +   They can only recognize viruses that have already been
  714.         identified. When a new virus has been launched it will take a
  715.         while before someone discovers it. After that it will take some
  716.         time before a reliable signature is distilled from the virus
  717.         and it will also take a while for you to get hold of the newest
  718.  
  719.  
  720.  
  721.                                      Page 9
  722.  
  723.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  724.  
  725.  
  726.         Virscan.Dat.  All this means that there is a real chance that
  727.         your system is infected at a moment virus scanners have not yet
  728.         recognized "your" virus!
  729.  
  730.     +   You will have to do an active operation in order to protect
  731.         your system:  namely executing the virus scanner. At least once
  732.         a week one should boot from a trusted and write-protected
  733.         diskette and execute the scanner, since some viruses can
  734.         perfectly hide themselves once resident in memory. It is an
  735.         illusion that employees perform this task correctly. For
  736.         company use we recommend additional protection, like a
  737.         permanently active immunizer such as the Thunderbyte add-on
  738.         card.
  739.  
  740.  
  741.   2.6.  Who are we?
  742.  
  743.     TbScan is developed by Frans Veldman, chief executive of the
  744.     ESaSS company. ESaSS is the company that developed the well known
  745.     Thunderbyte card, the first hardware PC immunizer, and has
  746.     therefore a lot of experience and knowledge of viruses and
  747.     assembler written system software. Of course we also have a large
  748.     collection of viruses to test our products.
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.                                     Page 10
  782.  
  783.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  784.  
  785.  
  786. 3.  USAGE OF THE PROGRAM
  787.  
  788.  
  789.   3.1.  System requirements
  790.  
  791.     TbScan runs perfectly on standard machines. "The limits are
  792.     limited".
  793.  
  794.     +   TbScan requires 184 Kb of free memory. If you use a log file
  795.         TbScan needs an additional 16 Kb of memory for the log file
  796.         buffer.  TbScan also allocates memory to keep all AVR modules
  797.         in memory.  If there is still memory left, TbScan allocates
  798.         96Kb for disk cach buffers. Note that the memory requirements
  799.         are independend from the amount of signatures. The current
  800.         memory requirements already incorporate memory to manage at
  801.         least 2500 signatures.
  802.  
  803.     +   DOS version 2.11 or later is sufficient to run TbScan. However,
  804.         Dos 3.3 or higher is recommended, since TbScan is optimized
  805.         and primary designed for use with these DOS versions.
  806.  
  807.     +   Directories may be nested up to 20 levels.
  808.  
  809.     +   The summed size of all AVR-modules should not exceed 64Kb.
  810.  
  811.  
  812.   3.2.  Program invokation
  813.  
  814.     TbScan is easy to use. The syntaxis is as follows:
  815.             TBSCAN [@][<path>][<filename>]... [<options>]...
  816.  
  817.     Drive and path show from where should be searched. To search the
  818.     disk C:\ and disk D:\ you have to enter:
  819.  
  820.             TBSCAN C:\ D:\
  821.  
  822.     When no filename has been specified but only a drive and/or path,
  823.     then the specified path will be used as top-level path.  All its
  824.     subdirectories will be processed too.
  825.  
  826.     When a filename has been specified then only the specified path
  827.     will be searched. Subdirectories will not be processed.
  828.  
  829.     Wildcards in the filename are allowed.  It is allowed to specify
  830.     "*.*".  All executable files will be processed.  If you want the
  831.     non-executables to be processed too, then you have to specify the
  832.     "-analyze" parameter in combination with the filename.
  833.     "TBSCAN TEST.DAT" will always cause that no file will be processed:
  834.     TEST.DAT is not an executable file.  In this case you have to
  835.     specify the -analyze parameter. (Since a .DAT file is not executable
  836.     TbScan should be prevented from disassembling such a file because the
  837.     results would not be reliable. The -analyze option prevents TbScan
  838.  
  839.  
  840.  
  841.                                     Page 11
  842.  
  843.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  844.  
  845.  
  846.     from disassembling the file).
  847.  
  848.     You can also specify a list file to TbScan. A list file is
  849.     a file that contains a list of paths/filenames to be scanned.
  850.     Preceed the file with the character '@' on the TbScan command line:
  851.             TBSCAN @TBSCAN.LST
  852.  
  853.  
  854.   3.3.  While scanning
  855.  
  856.     TbScan divides the screen in two windows: an information window and
  857.     a scanning window. The upper window is the information window and
  858.     it initially displays the comments of the data file.
  859.  
  860.     If TbScan detects infected files the names of the file and the
  861.     virus will be displayed in the upper window. The information
  862.     will stack up and scroll off the screen if it doesn't fit anymore.
  863.  
  864.     The divider line between the two windows displays the directory
  865.     containing the file being processed, the number of signatures
  866.     scanning for, and the disk cacher hit-rate.
  867.     The divider bar looks like this:
  868.  
  869.     C:\TEST\SUBDIR\                    Virus families: 348^  Cache hit 73%
  870.  
  871.     The caret (^) after the number of virus families indicates that
  872.     TbScan has linked in some AVR (Algorithmic Virus Recognition) modules.
  873.     The amount of AVR modules are added to the virus family counter.
  874.  
  875.     The cache hit indicator displayes the percentage of fat- or
  876.     directory information that has been retrieved from the cache
  877.     buffers, or with other words, the percentage of disk access saved.
  878.     Note that the cache hit only applies for the fat- and directory
  879.     sectors, the contents of files will never be cached and will not
  880.     be reflected in the cache hit indicator.
  881.  
  882.     The line directly below the dividor line is reserved for TbScan
  883.     comments. It contains the rotating "I am still alive" indicator,
  884.     and should normally display license information.
  885.  
  886.     The lower window displays the file being processed, the algorithm
  887.     in use, info- and warning characters, the progress, and finally an
  888.     OK-statement or the name of the virus detected.
  889.  
  890.     You will see one of the next five terms behind every file name:
  891.     "Checking", "Tracing", "Browsing", "Analyzing" and "Skipping". This
  892.     indicates the algorithm used to scan the file.
  893.  
  894.     Behind these terms TbScan can display some warning characters.
  895.     Consult chapter "Warnings" for individual meanings of these
  896.     characters.
  897.  
  898.  
  899.  
  900.  
  901.                                     Page 12
  902.  
  903.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  904.  
  905.  
  906.     Behind these terms you will see that, dependent on size, structure
  907.     and kind of file, a number of plus signs appear. These indicate the
  908.     amount of code chunks that have been processed. The current version
  909.     of TbScan processes data in chunks of 32 Kb.
  910.  
  911.     The process can be aborted by pressing Ctrl-Break.
  912.  
  913.  
  914.   3.4.  Detecting viruses
  915.  
  916.     As soon as an infected program is found, the name of the virus will
  917.     be displayed. If you did not specify one of the options -batch,
  918.     -rename or -delete, TbScan will prompt you to delete or rename the
  919.     infected file, or to continue. If you choose to rename the file,
  920.     the first character of the extension will be replaced by the
  921.     character "V". This prevents the file from being executed
  922.     accidentially until further investigation.
  923.  
  924.     When TbScan detects a file it will display:
  925.                 Infected by [name of virus]
  926.  
  927.     It is however possible that TbScan detects a bootsector virus
  928.     dropper. A dropper is a program that is not infected, but contains
  929.     a bootsector virus and is able to install it on your bootsector.
  930.     If TbScan detects a bootsector virus is some type of files it
  931.     displays:
  932.                 Dropper of [name of virus]
  933.  
  934.     If the -mutant option has been specified, and TbScan detects a
  935.     non-100% signature match it displays:
  936.                 Possibly infected by [name of virus]
  937.  
  938.     If the -mutant option has been specified and TbScan detects a
  939.     combination of suspicious facts it displays:
  940.                 Possibly infected by an unknown virus
  941.  
  942.     TbScan needs to access the data file to get the name of a virus. If
  943.     it can not access the data file it displays [Can not read datafile]
  944.     instead of the virus name.
  945.  
  946.  
  947.   3.5.  The warning marks
  948.  
  949.     TbScan is not just a scanner. It also disassembles the file being
  950.     processed. This serves three purposes, by disassembling the file
  951.     the scanner can restrict itself to the area of the file where the
  952.     virus might reside, it makes it possible to use algorithmic
  953.     detection on viruses that don't have a signature, and it makes it
  954.     possible to detect suspicious instruction sequences. If TbScan
  955.     detects suspicious instruction sequences it prints a warning mark
  956.     or message.
  957.  
  958.  
  959.  
  960.  
  961.                                     Page 13
  962.  
  963.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  964.  
  965.  
  966.     Warning marks consist of a single character that might be printed
  967.     behind the name of the file being processed. There are two levels
  968.     of warnings: the informative ones are printed in a lowercase
  969.     character, and the more serious warnings are printed in an uppercase
  970.     character. The "lowercase warnings" are intended to attent special
  971.     characteristics of the file being processed, and the "uppercase
  972.     warnings" may indicate a virus. If the -info option has been
  973.     specified the important warnings will not only appear as a warning
  974.     character, but there will also be a description printed in the
  975.     upper window.
  976.  
  977.     How should you treat the warnings? The less important warnings can
  978.     be considered as "information only". They indicate nothing special
  979.     but provide you information you might be interested in. The warning
  980.     marks printed in uppercase indicate more interesting information
  981.     that MIGHT indicate a virus. It is quiet normal that you have some
  982.     files on your system which trigger an uppercase warning. In fact,
  983.     DOS 5.0 comes with at least two files that trigger a serious
  984.     warning: FORMAT.COM and SORT.EXE. TbScan detects a "suspicious
  985.     relocator" in FORMAT.COM and an "inconsistent header" in SORT.EXE.
  986.     Both warnings are complete rightly. More about that later. You
  987.     should ignore the warnings if only a few programs trigger the same
  988.     warning. But, if your system behaves "strange" and many recently
  989.     used programs cause TbScan to issue the same serious warning (or
  990.     even combinations of serious warnings), your system might be
  991.     infected by a (yet unknown) virus. Almost all viruses in our
  992.     collection cause one or more warnings to be displayed. So, don't
  993.     get upset if TbScan warns you about a few files on your system. But
  994.     get suspicious if many files cause the same serious warning or
  995.     combinations of serious warnings.
  996.  
  997.   3.5.1.  R - Suspicious relocator.
  998.  
  999.     The character 'R' warns for a suspicious relocator. A relocator is
  1000.     a sequence of instructions that change the proportion of CS:IP. It
  1001.     is often used by viruses, especially COM type infectors. Those
  1002.     viruses have to relocate the CS:IP proportion because they are
  1003.     compiled for a specific location in the executable file, and a
  1004.     virus that infects another program can almost never use its
  1005.     original location in the file (it is appended to the file). Normal
  1006.     programs "know" their location in the executable file, so they
  1007.     don't have to relocate themselves. On normal systems only a few
  1008.     percent of the programs should cause this warning to be displayed.
  1009.     Tests on a large collection of viruses shows that TbScan issues
  1010.     this warning for about 65% of all viruses. The DOS FORMAT.COM
  1011.     program causes this warning to be displayed too. This is rightly,
  1012.     because Microsoft did some strange things with this program. It
  1013.     appears that the file was originally a .EXE file which has been
  1014.     converted into a .COM file by adding a sort of shell. (What is
  1015.     actually the difference between infecting a file and converting it
  1016.     this way?) Anyway, you should ignore this warning for the DOS
  1017.     FORMAT program.  TbScan uses the "analyze" or "browse" algorithm on
  1018.  
  1019.  
  1020.  
  1021.                                     Page 14
  1022.  
  1023.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1024.  
  1025.  
  1026.     programs which contain a suspicious relocator. Just for sure!
  1027.  
  1028.   3.5.2.  T - Invalid timestamp.
  1029.  
  1030.     The timestamp of the program is invalid. The seconds of the
  1031.     timestamp are illegal, or the date is illegal or later than the
  1032.     year 2000. This is suspicious because many viruses set the
  1033.     timestamp to an illegal value (like 62 seconds) to mark that they
  1034.     already infected the file, preventing themselves to infect a file
  1035.     for a second time. It is possible that the program being checked is
  1036.     contaminated with a virus that is still unknown, especially if many
  1037.     files on your system have an invalid timestamp.  If only a very few
  1038.     programs have an invalid timestamp you'd better correct it and scan
  1039.     frequently to check that the timestamp of the files remain
  1040.     correctly.
  1041.  
  1042.   3.5.3.  ! - Branch out of code.
  1043.  
  1044.     The program has an entry point that is located outside the file's
  1045.     body, or a chain of "jumps" traced to a location outside the
  1046.     program file. The program being checked is probably damaged, and
  1047.     can not be executed. Anyway, TbScan does not take any risk and uses
  1048.     the analyze or browse method to scan the file.
  1049.  
  1050.   3.5.4.  # - Decryptor code found.
  1051.  
  1052.     The file possibly contains a self-decryption routine. Some
  1053.     copy-protected software is encrypted so this warning may appear
  1054.     for some of your files. But if this warning appears a lot, or in
  1055.     combination with by example the T-warning, there could be a virus
  1056.     involved! Many viruses encrypt themself and cause this warning to
  1057.     be displayed.
  1058.  
  1059.   3.5.5.  D - Direct disk access.
  1060.  
  1061.     This warning is displayed if the program being processed has
  1062.     instructions near the entry-point to write to a disk directly. It
  1063.     is normal that some disk related utilities cause this warning to be
  1064.     displayed (like Undelete.Exe). As usual, if many of your files
  1065.     (which have nothing to do with the disk) cause this warning to be
  1066.     displayed your system might be infected by an unknown virus.
  1067.  
  1068.     Note that a program that accesses the disk directly should not
  1069.     always be reported with the D-indicator. Only when the direct disk
  1070.     instructions are near the program entry point it will be reported.
  1071.     In case of a virus the offending instructions are always near the
  1072.     entry point and so they will always be reported.
  1073.  
  1074.   3.5.6.  N - Wrong name extension.
  1075.  
  1076.     Name conflict. The program carries the extension .EXE but appears
  1077.     to be an ordinary .COM file, or it has the extension .COM but the
  1078.  
  1079.  
  1080.  
  1081.                                     Page 15
  1082.  
  1083.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1084.  
  1085.  
  1086.     internal layout of an .EXE file. TbScan does not take any risk in
  1087.     this situation, but scans the file for both EXE and COM type
  1088.     signatures.
  1089.  
  1090.   3.5.7.  M - Memory resident code.
  1091.  
  1092.     TbScan has found instruction sequences which could make the program
  1093.     to remain resident in memory or to hook into important interrupts.
  1094.     Almost all TSR (Terminate and Stay Resident) programs will trigger
  1095.     this warning, because hooking into interrupts or remaining
  1096.     resident belong to their normal behaviour. However if a lot of
  1097.     normal programs (not intended to be a TSR) have this warning mark
  1098.     it is suspicious. It is possible that the files are infected by a
  1099.     virus that remains resident in memory. Note that this warning does
  1100.     not appear for all TSR-programs, nor does it always mean that when
  1101.     this warning appears the program is a TSR program.  With other
  1102.     words, the TSR detection is not 100% proof.
  1103.  
  1104.   3.5.8.  ? - Inconsistent header.
  1105.  
  1106.     The program being processed has an exe-header that does not reflect
  1107.     the actual program layout. The DOS SORT.EXE program will cause this
  1108.     warning to be displayed, because the actual size of the program
  1109.     file is less than reported in the "size-of-load-module" field in
  1110.     the exe-header! Many viruses do not update the exe-header of an EXE
  1111.     file correctly after they have infected the file, so if this
  1112.     warning appears a lot it seems you have a problem. You should
  1113.     ignore this warning for the DOS SORT.EXE program. (Hopefully will
  1114.     MicroSoft correct the problem before the next release of DOS).
  1115.  
  1116.   3.5.9.  E - Read or open error.
  1117.  
  1118.     The file could not be opened or read. This can be the result of an
  1119.     error on the disk(ette), but the file could also be in use by
  1120.     another task (multitasking) or network user. The file has not been
  1121.     scanned.
  1122.  
  1123.   3.5.10.  J - Multiple jumps.
  1124.  
  1125.     The program did not start at the program entry point, but the code
  1126.     has jumped at least two times before reaching the final startup
  1127.     code, or the program jumped using a memory operand. This is rather
  1128.     strange for normal programs. If many files cause this warning to be
  1129.     displayed you should investigate your system thorougly.
  1130.  
  1131.   3.5.11.  p - Packed or compressed file.
  1132.  
  1133.     The program is packed or compressed. There are some utilities that
  1134.     are able to compress a program file, like EXEPACK or PKLITE. If the
  1135.     file is infected after the file has been compressed, TbScan will
  1136.     be able to detect the virus. However, if the file has been infected
  1137.     before it was compressed, the virus is also compressed, and a virus
  1138.  
  1139.  
  1140.  
  1141.                                     Page 16
  1142.  
  1143.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1144.  
  1145.  
  1146.     scanner might not be able to recognize the virus anymore.
  1147.     Fortunately, this does not happen a lot, but you are warned! A new
  1148.     program might look clean, but can turn out to be the carrier of a
  1149.     compressed virus. Other files on your system will be infected in
  1150.     that case, but these infections will be normally visible for virus
  1151.     scanners.
  1152.  
  1153.     By the way, TbScan does not recognize specific compression
  1154.     utilities, but uses an universal way to detect any compression
  1155.     program. Probably TbScan does not require any modifications as soon
  1156.     as a new compression program pops up.
  1157.  
  1158.   3.5.12.  w - Windows or OS/2 header.
  1159.  
  1160.     The program can be or is intended to be used with Windows (or OS/2).
  1161.     TbScan does nothing special with these files, but that might be
  1162.     changed in the future as soon as Windows or OS/2 specific virusses
  1163.     occur.
  1164.  
  1165.   3.5.13.  h - Hidden or System file.
  1166.  
  1167.     The file has the "Hidden" or the "System" file attribute set.  This
  1168.     means that the file is not visible at a normal directory display
  1169.     but will be scanned anyway. if you don't know the source and
  1170.     purpose of this file it might be a Trojan or "joke" program. Copy
  1171.     it on a diskette, remove it from your hard disk and check if some
  1172.     program is missing the file. If no program is missing it, well, you
  1173.     have freed some diskspace, and maybe your system saved for a
  1174.     future disaster.
  1175.  
  1176.   3.5.14.  i - Internal overlay.
  1177.  
  1178.     The program being processed has additional data or code behind the
  1179.     load-module as specified in the exe-header of the file. The
  1180.     program might have internal overlay(s) or configuration information
  1181.     appended behind the load-module of the EXE file.
  1182.  
  1183.   3.5.15.  o - Odd stack pointer.
  1184.  
  1185.     The EXE file being processed has an odd (instead of even) stack
  1186.     offset. This can cause "exception errors" on 80386+ based systems,
  1187.     and performance decrease on 80286+ machines. If you find such a
  1188.     file on your system you'd better correct the problem using
  1189.     "exemod" to decrease the stack offset with 1, or by manually
  1190.     decreasing the value on offset 10 hex of the file by 1. Some
  1191.     viruses also set the stack offset of a file to an odd value. It is
  1192.     not sure whether this is a bug or a "feature".
  1193.  
  1194.  
  1195.   3.6.  Command line options
  1196.  
  1197.     It is possible to specify so-called options on the command line.
  1198.  
  1199.  
  1200.  
  1201.                                     Page 17
  1202.  
  1203.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1204.  
  1205.  
  1206.     Tbscan recognizes option-characters and option-words. The words are
  1207.     more easy to remember, and they will be used in this manual for
  1208.     convenience.
  1209.  
  1210.     -help,    -h  =help (-? = short help)
  1211.     -info,    -i  =display disassembly information
  1212.     -quick,   -q  =quick scan
  1213.     -more,    -m  =enable "More" prompt
  1214.     -mutant,  -y  =enable fuzzy search
  1215.     -direct,  -d  =direct calls into DOS/BIOS
  1216.     -analyze, -a  =force analyze/all files
  1217.     -valid,   -u  =force authorization
  1218.     -once,    -o  =only once a day
  1219.     -compat,  -c  =compatibility mode
  1220.     -nosnow,  -t  =fast CGA output
  1221.     -noboot,  -s  =skip bootsector
  1222.     -sector,  +s  =scan all disk sectors
  1223.     -nomem,   -r  =don't scan memory
  1224.     -allmem,  +r  =scan for all viruses in memory
  1225.     -hma,     +e  =scan HMA too
  1226.     -nohmem,  -e  =don't scan UMB/HMA
  1227.     -nosub,   -n  =don't scan in sub directories
  1228.     -sub,     +n  =process sub directories
  1229.     -noavr,   -j  =do not search for AVR modules
  1230.     -del[ete] -z  =delete infected files
  1231.     -batch,   -b  =don't ask keyboard input
  1232.     -repeat,  -x  =scan multiple diskettes
  1233.     -loginfo, -w  =log files with a lowercase warning too
  1234.     -logall,  +w  =log all files unconditionally
  1235.     -log      [<filename>],  +l [<filename>]  =append to log file
  1236.     -session  [<filename>],  -l [<filename>]  =create session log file
  1237.     -data     <filename>     -f <filename>    =data file to be used
  1238.     -ren[ame] [<ext mask>],  +z [<ext mask>]  =rename infected files
  1239.  
  1240.    3.6.1.  -help
  1241.  
  1242.     If you specify this option TbScan displays the contents of the of
  1243.     the TbScan.HLP file if it is available in the home directory of
  1244.     TbScan. If you specify the -? option you will get the option
  1245.     summary as listed above.
  1246.  
  1247.    3.6.2.  -info
  1248.  
  1249.     If you are an experienced user we recommend you to use this option.
  1250.     If you do so, TbScan will display the most important warnings
  1251.     with the complete pathname of the concerned file in the upper
  1252.     window.
  1253.  
  1254.    3.6.3.  -quick
  1255.  
  1256.     This option enables you to quickly scan the system. It is intended
  1257.     to be used in the "afternoon scan" of the system. It is recommended
  1258.  
  1259.  
  1260.  
  1261.                                     Page 18
  1262.  
  1263.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1264.  
  1265.  
  1266.     to invoke TbScan once a day without this option because this option
  1267.     does not offer you the highest security. .OVL, .BIN and .SYS files
  1268.     are skipped entirely since it is not likely that these files are
  1269.     infected, memory scan is skipped, the scan frame is reduced to
  1270.     2Kb instead of 4Kb, and TbScan does not fall back to the analyze
  1271.     routine as often as usual. However, TbScan still detects 95% of the
  1272.     viruses if this option is specified.
  1273.  
  1274.    3.6.4.  -more
  1275.  
  1276.     When you enter the parameter -more TbScan will stop after it has
  1277.     checked the contents of one window.  This gives you the
  1278.     possibility to examine the results without using a log file.
  1279.  
  1280.    3.6.5.  -mutant
  1281.  
  1282.     TbScan is able to detect mutants of viruses while performing a
  1283.     normal (default) scan, since many of the signatures contain
  1284.     wildcards. However, if you use the -mutant option TbScan does not
  1285.     restrict itself to the wildcard specification, but allows up to two
  1286.     extra changes anywhere in the signature. Needless to say, if you
  1287.     use this option false alarms may occur. Therefore this option is
  1288.     not recommended to be used in a normal scan session. However, you
  1289.     can use this option if you expect the system is infected but TbScan
  1290.     does not detect a virus. If you scan again and specify the -mutant
  1291.     option, and TbScan now reports many files to be "possibly infected"
  1292.     with one virus, it might be possible that the files are infected by
  1293.     an unknown variant of the virus. It is recommended to supply one
  1294.     such a possibly infected file to a virus expert before invoking a
  1295.     clean up operation.
  1296.  
  1297.    3.6.6.  -direct
  1298.  
  1299.     TbScan communicates with DOS through interrupt 21h. To prevent this
  1300.     from being "monitored" by viruses, option -direct can be entered.
  1301.     TbScan will use its built-in debugger to trace through the
  1302.     chain of interrupts until it has reached the DOS entry point.  This
  1303.     address is shown on the display and after that moment it will be
  1304.     used for the communication with DOS.  The same applies to the
  1305.     communications with the disk system:  TbScan first searches for the
  1306.     entry point of the BIOS, and performs direct calls into it.
  1307.     Resident programs, such as viruses, are then excluded from taking
  1308.     part in the virus scan process.
  1309.  
  1310.     This implies however that the regular resident programs remain
  1311.     ignorant too with regard to the file access by TbScan.  That is why
  1312.     it is not recommended to use this option when you use a multitasker
  1313.     or when you are connected to a local area network.
  1314.  
  1315.     Also note that many protection software packages will be fooled by
  1316.     TbScan when using the -direct option.  Don't be surprised when
  1317.     TbScan scans files you don't actually have any access to...
  1318.  
  1319.  
  1320.  
  1321.                                     Page 19
  1322.  
  1323.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1324.  
  1325.  
  1326.     When you use this option do not popup resident programs while
  1327.     TbScan is active!  This is because resident programs do not know
  1328.     that some foreground program performs file access and a machine
  1329.     hang might occur.
  1330.  
  1331.     When you have installed the Thunderbyte card in your PC, TbScan
  1332.     will not search for the DOS entry point, but for the entry point of
  1333.     Thunderbyte.  Otherwise Thunderbyte should warn you (correctly)
  1334.     that a program performs direct calls into DOS and the BIOS.  So
  1335.     only Thunderbyte remains between TbScan and DOS/BIOS. Since no
  1336.     viruses can be inserted between Thunderbyte and DOS/BIOS, this is
  1337.     completely safe.
  1338.  
  1339.    3.6.7.  -analyze
  1340.  
  1341.     Normally TbScan only uses the analysis method when the program to
  1342.     be checked is too complicated for the builtin interpreter.  But
  1343.     through option -analyze you can force TbScan to use the analysis
  1344.     or browse method always. Keep in mind though that the program will
  1345.     perform more slowly and that false alarms may occur. Therefore it
  1346.     is recommended to refrain from this option while performing a
  1347.     normal scan session. Since this option also disables the internal
  1348.     disassembler of TbScan, most warning marks will not occur,
  1349.     bootsector virus droppers will not be detected, and the AVR
  1350.     modules will not be executed.
  1351.  
  1352.     The -analyze option can not be used if the -mutant option has been
  1353.     specified too. It would cause too many false alarms. If you expect
  1354.     a virus and TbScan does not find a virus, you'd better use the
  1355.     -mutant option rather than -analyze. The -analyze option does
  1356.     not increase the hit rate like the -mutant option.
  1357.  
  1358.     If you have the odd feeling that you have to increase the hit rate
  1359.     of TbScan you'd better use the -mutant option rather than the
  1360.     -analyze option.  The -mutant option already detected some new
  1361.     unknown viruses, while the -analyze option did not and caused only
  1362.     false alarms.
  1363.  
  1364.     Without this option TbScan processes only executable files, even if
  1365.     a (wildcarded) filename has been specified. However, if you want to
  1366.     scan non-executable files you have to use the -analyze option.
  1367.     TbScan can only scan non-executable files if the -analyze option
  1368.     has been specified because non-executable files can not be
  1369.     disassembled. Since there are no specific signatures for
  1370.     non-executable files TbScan scans for all signatures in all files
  1371.     just to be able to find anything at all.
  1372.  
  1373.     So, if you use the -analyze option in combination with an explicite
  1374.     filename specification, TbScan scans ALL matching files for ALL
  1375.     signatures. Needless to say that this combination is NOT
  1376.     recommended due to its low performance and exessive amount of
  1377.     false alarms.  It is only provided to gain some compatibility with
  1378.     other scanners.
  1379.  
  1380.  
  1381.                                     Page 20
  1382.  
  1383.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1384.  
  1385.  
  1386.  
  1387.  
  1388.    3.6.8.  -valid
  1389.  
  1390.     TbScan checks the signature file for modifications.  If you change
  1391.     the contents of that file TbScan will issue a warning.  If you
  1392.     don't want the warning to be displayed, use the -valid option.
  1393.  
  1394.    3.6.9.  -once
  1395.  
  1396.     If you specify this option TbScan "remembers" that is has been used
  1397.     that day, and it will not run anymore a next time on that day if
  1398.     you specify this option again. This option is very powerfull if you
  1399.     use it in your autoexec.bat file in combination with a list file
  1400.     like:
  1401.  
  1402.                 TbScan @Everyday.Lst -once -rename
  1403.  
  1404.     TbScan now scans every day the first time being invoked the list of
  1405.     files and/or paths specified in the file "Everyday.Lst". All other
  1406.     times the machine will boot that day, TbScan will return to DOS
  1407.     immediately. This option does not interfere with the normal use of
  1408.     TbScan:  If you invoke TbScan without the -once option it will
  1409.     always run, regardless of a previous invokation with the -once
  1410.     option.  The opposite is also true: if you use the option -once
  1411.     after TbScan has been executed before that day without the -once
  1412.     option, TbScan will still execute.
  1413.  
  1414.     Note that if TbScan can not write to TbScan.Exe because it is
  1415.     read-only or located on a write protected diskette, the -once option
  1416.     will fail and start the scanner always.
  1417.  
  1418.    3.6.10.  -compat
  1419.  
  1420.     If you specify this option, TbScan tries to behave somewhat more
  1421.     compatible. Use this option if the program does not behave as
  1422.     expected or hangs the machine. This option will slow down the scan
  1423.     process so it should only be used when necessary. Note that this
  1424.     option does not affect the results of a scan.
  1425.  
  1426.    3.6.11.  -nosnow
  1427.  
  1428.     If you use TbScan on a machine with a CGA video system TbScan
  1429.     avoids the occurence of snow on the sceen. This slows down the scan
  1430.     process slightly and causes the display to flicker. If your CGA
  1431.     system does not require special operations to avoid snow you can
  1432.     specify the -nosnow option, resulting in a flicker-free screen and
  1433.     an increased scan speed. On machines with a MDA, Hercules, EGA or
  1434.     VGA video system this option has no effect.
  1435.  
  1436.    3.6.12.  -noboot
  1437.  
  1438.  
  1439.  
  1440.  
  1441.                                     Page 21
  1442.  
  1443.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1444.  
  1445.  
  1446.     If you specify this option TbScan will not scan the bootsector.
  1447.  
  1448.    3.6.13.  -sector
  1449.  
  1450.     This option is experimental.  This option enables the feature to
  1451.     scan a disk at sector level.  This way you can trace viruses that
  1452.     reside outside the files and bootsector and difficult stealth
  1453.     viruses. This option might also tell you that a virus ever
  1454.     resided on the machine in the past.  If this option detects a
  1455.     signature it does not mean that the virus should be still active.
  1456.     Even if TbScan deleted the virus this option is still able to
  1457.     detect the signature for a while.  This option is NOT recommended
  1458.     for a normal search.
  1459.  
  1460.    3.6.14.  -nomem
  1461.  
  1462.     If you specify this option TbScan will not scan the memory of the
  1463.     PC for viruses.
  1464.  
  1465.    3.6.15.  -allmem
  1466.  
  1467.     If you specify this option TbScan will search for all viruses of
  1468.     the signature file in the memory of your PC, regardless of the
  1469.     virus type. This option is not recommended since many viruses have
  1470.     a different signature after they install themself in memory and a
  1471.     scan for non-memory specific viruses in memory makes no sense at
  1472.     all. It may cause a lot of false alarms. It is provided to maintain
  1473.     some compatibility with other scanners.
  1474.  
  1475.    3.6.16.  -hma
  1476.  
  1477.     TbScan detects the presence of a XMS-driver, and scans the HMA
  1478.     automatically. If you have a HMA-driver not compatible with the
  1479.     XMS standard you can use the -hma option to force TbScan to scan
  1480.     the HMA.
  1481.  
  1482.    3.6.17.  -nohmem
  1483.  
  1484.     By default TbScan searches for RAM above the DOS limit and scans
  1485.     that too. This means that even video memory and the current EMS
  1486.     pages are scanned. You can use the -nohmem option to disable the
  1487.     scanning of memory above the DOS limit.
  1488.  
  1489.    3.6.18.  -nosub
  1490.  
  1491.     TbScan will default search in subdirectories for executable files,
  1492.     except when a filename (or wildcards) are specified.  If you use
  1493.     this option TbScan will never search in subdirectories.
  1494.  
  1495.    3.6.19.  -sub
  1496.  
  1497.     If you use this option TbScan will always search in subdirectories,
  1498.  
  1499.  
  1500.  
  1501.                                     Page 22
  1502.  
  1503.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1504.  
  1505.  
  1506.     even when you specify a filename or wildcards.  Only subdirectories
  1507.     matching the filename mask will be scanned too.
  1508.  
  1509.    3.6.20.  -noavr
  1510.  
  1511.     If you specify this option TbScan will not search for AVR modules
  1512.     (Algorithmic Virus Recognition modules; .AVR files) at startup and
  1513.     will not perform any algorithmic searches on files.
  1514.  
  1515.    3.6.21.  -delete or -del
  1516.  
  1517.     If TbScan detects a virus in a file it prompts the user to delete
  1518.     or rename the infected file, or to continue.  If you specify the
  1519.     -delete option, TbScan will not ask the user what to do but it just
  1520.     deletes the infected file.  Use this option only if you already
  1521.     found out that your system is infected, and if you have a trusted
  1522.     backup, and wants to get rid of all infected files at once.
  1523.  
  1524.    3.6.22.  -rename or -ren
  1525.  
  1526.     If TbScan detects a file virus it prompts the user to delete
  1527.     or rename the infected file, or to continue.  If you specify the
  1528.     -rename option, TbScan will not ask the user what to do but it just
  1529.     renames the infected file. By default, the first character of the
  1530.     file's extension will be replace by the character "V". A .EXE file
  1531.     will be renamed to .VXE, and a .COM file to .VOM. This prevents the
  1532.     infected programs from being executed, but the program can still be
  1533.     examined or repaired at a later time. You can also add a parameter
  1534.     to this option specifying the target extension.  The parameter
  1535.     should always contain 3 characters, question marks are allowed. The
  1536.     default target extension is "V??".
  1537.  
  1538.    3.6.23.  -batch
  1539.  
  1540.     If TbScan detects a file virus it prompts the user to delete or
  1541.     rename the infected file, or to continue. If you specify the -batch
  1542.     option TbScan will always continue. This option is intended to be
  1543.     used in a batch file that would be executed unattended. It is
  1544.     highly recommended to use a log file in this situation, otherwise
  1545.     the scanning does not make very much sense.
  1546.  
  1547.    3.6.24.  -repeat
  1548.  
  1549.     The option is very powerfull if you want to check a large amount of
  1550.     diskettes. TbScan does not return to DOS after checking a disk, but
  1551.     it waits until you inserted another disk in the drive. You don't
  1552.     have to press a key on the keyboard when ready, TbScan detects
  1553.     automatically when the drive is ready to be accessed. This way you
  1554.     can check a large amount of diskettes without touching the
  1555.     keyboard. One thing you will notice however is that the motor of
  1556.     the disk drive keeps spinning, and the light keeps burning.  This
  1557.     does not harm your drive in any way, you can safely open and close
  1558.  
  1559.  
  1560.  
  1561.                                     Page 23
  1562.  
  1563.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1564.  
  1565.  
  1566.     the drive-door while the motor still runs. Many backup programs
  1567.     handle the drives the same way as TbScan does.
  1568.  
  1569.    3.6.25.  -log
  1570.  
  1571.     When you use this parameter, TbScan creates a LOG-file.  The
  1572.     default filename is TBSCAN.LOG and it will be created in the current
  1573.     directory.  You may optionally specify a path and filename.  In the
  1574.     LOG-file all infected program files are listed.  The filenames are
  1575.     specified including the complete path name. If the log file already
  1576.     exists the information will not be overwritten but instead appended
  1577.     to the file. If you use this option often it is recommended to
  1578.     delete or truncate the log file every month to avoid unlimited
  1579.     growth.
  1580.  
  1581.    3.6.26.  -session
  1582.  
  1583.     This option is the same as the -log option, except that if there
  1584.     already exists a log file the log information will be overwritten
  1585.     instead of appended. A log file created by the -session option only
  1586.     contains information of a single scanning session.
  1587.  
  1588.    3.6.27.  -loginfo
  1589.  
  1590.     If you use a log file and wants to log files with lowercase
  1591.     (informative) warnings too you should specify this option.
  1592.  
  1593.    3.6.28.  -logall
  1594.  
  1595.     If you use a log file and wants to get all files listed in the log
  1596.     file unconditionally you can use this option.
  1597.  
  1598.    3.6.29.  -data
  1599.  
  1600.     You can override the default path en name of the signature file by
  1601.     using this option.
  1602.  
  1603.     TbScan normally tries to locate a data file by itself. See chapter
  1604.     3.10 for information how TbScan searches for a data file.
  1605.  
  1606.     If TbScan does not succeed in recognizing or locating the
  1607.     appropriate data file by default, or you want to override the
  1608.     default data search, you should use the -data option.
  1609.  
  1610.  
  1611.   3.7.  Examples:
  1612.  
  1613.         TbScan \ -data c:\TbScan.Dat -noboot
  1614.             Process all executable files in the root directory and its
  1615.             sub directories.  Skip the bootsector scan.  Use the
  1616.             signature file "c:\TbScan.Dat".
  1617.  
  1618.  
  1619.  
  1620.  
  1621.                                     Page 24
  1622.  
  1623.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1624.  
  1625.  
  1626.         TbScan \*.*
  1627.             Process all executable files in the root directory. Don't
  1628.             process sub directories.
  1629.  
  1630.         TbScan Test.Dat -log c:\test.log
  1631.             No file will be processed. TEST.DAT is not an executable.  A
  1632.             LOG file with the name c:\test.log will be created.
  1633.  
  1634.         TbScan Test.Dat Test.Tmp -analyze
  1635.             Search Test.Dat and testp for ALL viruses using the
  1636.             analyze method.
  1637.  
  1638.         TbScan c:\ -analyze -rename vi?
  1639.             Process all executable files in the root directory and
  1640.             its sub directories.  Use the analysis method.  Rename
  1641.             infected files to a file by replacing the first two
  1642.             characters of the extension by "VI". The last character
  1643.             remains the same.
  1644.  
  1645.         TbScan c:\*.* -analyze
  1646.             Process ALL files in the root directory. Search for ALL
  1647.             viruses in ALL files.  The analysis-method will be used. Sub
  1648.             directories will not be processed.
  1649.  
  1650.  
  1651.     The last two examples shows the difference in behaviour of the
  1652.     -analyze parameter when a filename and when no filename has been
  1653.     specified.
  1654.  
  1655.  
  1656.   3.8.  Environment variable
  1657.  
  1658.     If you want to use certain options always, it can be handy to use
  1659.     the environment variable "TBSCAN" for this.  For instance, if you
  1660.     always use the option -noboot and always specifies the signature
  1661.     file to be used, you can insert the following line into your
  1662.     autoexec.bat file:
  1663.  
  1664.                 SET TBSCAN=-LOG -DATA C:\TBSCAN.DAT -NOBOOT
  1665.  
  1666.     TbScan now always acts like you specified the -noboot and -log
  1667.     option on the command line!
  1668.  
  1669.     Another good item to include in the environment variable is the
  1670.     option -data, to specify which data file should be used by default.
  1671.  
  1672.  
  1673.   3.9.  The configuration file
  1674.  
  1675.     For people that like the use of configuration files: TbScan can
  1676.     be configured with a configuration file. The configuration file
  1677.     should be in the same directory as the file TbScan.Exe, and the
  1678.  
  1679.  
  1680.  
  1681.                                     Page 25
  1682.  
  1683.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1684.  
  1685.  
  1686.     name of the configuration file should be TBS.BAT (surprise,
  1687.     surprise). The format of this configuration file is as follows:
  1688.  
  1689.       tbscan %1 %2 %3 %4 %5 %6 %7 %8 %9 [<default options...>]
  1690.  
  1691.     Example:
  1692.  
  1693.       tbscan %1 %2 %3 %4 %5 %6 %7 %8 %9 -direct -data c:\virus\Virscan.Dat
  1694.  
  1695.     To use this configuration file you have to type "TBS C:\" on the DOS
  1696.     prompt. If you want to override the default options specified in
  1697.     the TBS.BAT file just type "TBSCAN".
  1698.  
  1699.     This configuration file is very powerfull. You can even define
  1700.     mnemonics like "DAILY" and "WEEKLY" to invoke a predefined scan session.
  1701.     However, it is still possible to specify additional options on the
  1702.     command line. If TbScan detects a virus the file Virus.Txt will be
  1703.     printed on the screen. The file should contain information like the
  1704.     phone number of the company helpdesk and the phone number of the
  1705.     security officer.
  1706.  
  1707.     An example:
  1708.       @echo off
  1709.       if '%1'=='daily' goto daily
  1710.       if '%1'=='weekly' goto weekly
  1711.       echo Type "TBS weekly" or "TBS daily" to start a scan event
  1712.       goto end
  1713.       :daily
  1714.       tbscan c:\system d:\ -quick %2 %3 %4
  1715.       if errorlevel 1 goto virus
  1716.       goto end
  1717.       :weekly
  1718.       tbscan c:\ d:\ e:\ -log c:\logs\tbscan.log %2 %3 %4
  1719.       if errorlevel 1 goto virus
  1720.       goto end
  1721.       :virus
  1722.       type virus.txt
  1723.       :end
  1724.  
  1725.     For more information about this kind of powerfull "configuration"
  1726.     files consult the DOS manual and search for the keyword "batch
  1727.     files".
  1728.  
  1729.     Most people overlook the power of the DOS batch file features. But,
  1730.     why learning yet another configuration file language if a DOS
  1731.     batch file will suit your needs perfectly? You can predefine scan
  1732.     sessions, define default options, and branch to a specific routine
  1733.     if TbScan detects a virus.
  1734.  
  1735.     On the TbScan diskette you will find an example BATCH file with the
  1736.     name TBS.BAT. You can edit it to suit your needs.
  1737.  
  1738.  
  1739.  
  1740.  
  1741.                                     Page 26
  1742.  
  1743.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1744.  
  1745.  
  1746.   3.10.  The TbScan.Msg file
  1747.  
  1748.     TbScan prints the TbScan.Msg file on the screen after 15 seconds
  1749.     or when it finished scanning and it has not detected a virus. The
  1750.     file TbScan.Msg as supplied by us contains our address and
  1751.     registration information. However, you can edit this file as you
  1752.     like, it is possible to define your company logo in this file.
  1753.  
  1754.  
  1755.   3.11.  Residence of the signature file
  1756.  
  1757.     TbScan looks for the data file in this order:
  1758.     1)  If the -data option is used it will use the specified file.
  1759.     2)  It searches in the active directory for a file with the
  1760.         name TBSCAN.DAT.
  1761.     3)  It searches for TBSCAN.DAT in the same directory as the
  1762.         program file TBSCAN.EXE itself is located (only DOS 3+).
  1763.     4)  It searches in the active directory for a file with the
  1764.         name VIRSCAN.DAT.
  1765.     5)  It searches for VIRSCAN.DAT in the same directory as the
  1766.         program file TBSCAN.EXE itself is located (only DOS 3+).
  1767.  
  1768.  
  1769.   3.12.  Residence of the AVR modules
  1770.  
  1771.     The AVR modules are only searched in the directory where the
  1772.     program TBSCAN.EXE itself resides.
  1773.  
  1774.  
  1775.   3.13.  Error messages
  1776.  
  1777.     Errormessages that might be displayed:
  1778.  
  1779.     +   Error in data file at line <number>.
  1780.         There is an error in the specified line of the data file.
  1781.  
  1782.     +   Failed to locate DOS entry point.
  1783.         TbScan has not been able to locate the DOS entry point, but
  1784.         continues as if option -direct has not been specified.
  1785.  
  1786.     +   Limit exceeded.
  1787.         The total amount of internal signature information exceeded
  1788.         64Kb. This message will be displayed if the number of
  1789.         signatures reaches 2500. You can either reduce the number of
  1790.         signatures or make them shorter.
  1791.  
  1792.     +   Data file not found.
  1793.         TbScan has not been able to locate the data file.
  1794.  
  1795.     +   Command line error.
  1796.         An invalid or illegal command line or environment option has
  1797.         been specified.
  1798.  
  1799.  
  1800.  
  1801.                                     Page 27
  1802.  
  1803.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1804.  
  1805.  
  1806.     +   Can not combine -mutant with -analyze.
  1807.         It is not allowed to combine the options mentioned, it would
  1808.         cause too many false alarms, and does not make sense at all.
  1809.  
  1810.     +   No matching files found.
  1811.         The path specified does not exist, is empty, or the specified
  1812.         file does not exist.
  1813.  
  1814.     +   No matching executable files found.
  1815.         The path specified does not exist, is empty, or the specified
  1816.         file does not exist or is not an executable file.
  1817.  
  1818.     +   Can not create logfile.
  1819.         The optional specified log file path is illegal, the disk is
  1820.         full or write protected, or the file already exists and can not
  1821.         be overwritten.
  1822.  
  1823.     +   Sanity check failed!
  1824.         TbScan detected that its internal checksum does not match
  1825.         anymore. TbScan is possibly contaminated by a virus.
  1826.         Obtain a clean copy of TbScan, put it on a WRITE PROTECTED
  1827.         bootable diskette, boot from that diskette, and try again!
  1828.  
  1829.  
  1830.  
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.  
  1837.  
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.                                     Page 28
  1862.  
  1863.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1864.  
  1865.  
  1866. 4.  FORMAT OF THE DATA FILE
  1867.  
  1868.  
  1869.   4.1.  Format of a signature entry
  1870.  
  1871.     The data file (called TBSCAN.DAT or VIRSCAN.DAT) can be read and/or
  1872.     modified with every DOS-text editor.
  1873.  
  1874.     All lines starting with ";" are comment lines. TbScan ignores these
  1875.     lines. When the ";" character is followed by a percent-sign the
  1876.     remaining part of the line will be displayed on the screen.  A
  1877.     maximum of 8 lines can be printed on the screen.
  1878.  
  1879.     In the first line the name of a virus is expected. The second line
  1880.     contains one or more of the next words:
  1881.             BOOT SYS EXE COM HIGH LOW
  1882.  
  1883.     These words may be separated by spaces, tabs or commas.
  1884.  
  1885.     BOOT means that the virus is a bootsector virus. SYS, EXE and COM
  1886.     indicate the virus can occur in files with these extensions.
  1887.     Overlay files (with the extension OV?) will be searched for EXE
  1888.     viruses. BIN files will be searched for SYS viruses. HIGH means
  1889.     that the virus can occur in the memory of your PC located above the
  1890.     TbScan program itself. LOW means that the virus can occur in the
  1891.     memory of your PC located below the TbScan program itself.
  1892.  
  1893.     In the third line the signature is expected in ASCII-HEX.  Every
  1894.     virus character is described by means of two characters.
  1895.  
  1896.     One entry in the signature file should look like:
  1897.         ;
  1898.         Test virus
  1899.         EXE COM
  1900.         ABCD21436587ABCD
  1901.         ;
  1902.  
  1903.     It is allowed to use spaces in the ASCII-HEX signature to increase
  1904.     the readability.
  1905.  
  1906.     The sequence of three lines should be repeated for every virus.
  1907.     Between all lines comment lines may occur.
  1908.  
  1909.  
  1910.   4.2.  Wildcards
  1911.  
  1912.     TbScan allows you to use wildcards in a signature. Wildcards can be
  1913.     used to define one signature that recognizes a couple of related
  1914.     viruses.
  1915.  
  1916.     -   The ? wildcard.
  1917.  
  1918.  
  1919.  
  1920.  
  1921.                                     Page 29
  1922.  
  1923.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1924.  
  1925.  
  1926.         The question mark specifies a wildcard nibble, which means that
  1927.         the corresponding half of the byte may have any value.
  1928.  
  1929.         Example:
  1930.                 A5E623CB??CD21?883FF3E
  1931.  
  1932.     -   The * wildcard.
  1933.  
  1934.         You can use the asterisk followed by an ASCII-HEX character to
  1935.         skip a fixed amount of bytes in the signature. The ASCII-HEX
  1936.         character specifies the amount of bytes that should be skipped.
  1937.  
  1938.         Example:
  1939.                 A5E623CB*3CD2155??83FF3E?BCD
  1940.         This sequence of bytes will be recognised as a virus:
  1941.             A5E623CB142434CD21554583FF3E3BCD
  1942.  
  1943.     -   The % wildcard.
  1944.  
  1945.         A percent sign (%) followed by an ASCII-HEX character indicates
  1946.         that the remaining part of the signature could be located a
  1947.         number of bytes away.  The ASCII-HEX character specifies the
  1948.         maximum distance the remaining part should occur.
  1949.  
  1950.     -   The ** wildcard.
  1951.  
  1952.         You can use the "**" -wildcard to skip an unlimited variable
  1953.         amount of bytes in the signature.
  1954.  
  1955.  
  1956.   4.3.  Restrictions.
  1957.  
  1958.     +   The name of a virus may contain up to 30 characters.
  1959.  
  1960.     +   The ASCII-HEX signature may contain up to 132 characters.
  1961.  
  1962.     +   A signature must contain at least one sequence of two
  1963.         non-wildcard bytes. A sequence of four however is recommended.
  1964.  
  1965.     +   The signature should start with one non-wildcard byte.
  1966.  
  1967.     +   The %-wildcard should not be followed by any other wildcard.
  1968.  
  1969.     Examine the VIRSCAN.DAT or TBSCAN.DAT file for a "live" example of
  1970.     the format of the signature file.
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981.                                     Page 30
  1982.  
  1983.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  1984.  
  1985.  
  1986. 5.  A VIRUS, NOW WHAT?
  1987.  
  1988.  
  1989.   5.1.  Prevention
  1990.  
  1991.     Prevention is always better than cure. You can prevent an infection
  1992.     by using reliable software only, that is software of which the
  1993.     origins are known.
  1994.  
  1995.     MAKE SURE YOU HAVE AN UNINFECTED WRITE-PROTECTED BOOTABLE DOS DISK
  1996.     STORED IN A SAFE PLACE. The disk will be needed in case of
  1997.     infection. Without an uninfected bootable disk you will never be
  1998.     able to get rid of any virus! The disk should be write protected to
  1999.     make sure it will remain uninfected. This is very important.
  2000.  
  2001.     Only boot from your hard disk or from your original DOS diskette.
  2002.     NEVER use someone's else's disk for booting. Should you have a hard
  2003.     disk make certain that you have opened your floppy drive before
  2004.     resetting or booting your PC.
  2005.  
  2006.     Use the DOS program ChkDsk frequently (without the /F switch).
  2007.     ChkDsk is able to detect some viruses because the viruses change
  2008.     the disk structure in an incorrect way.
  2009.  
  2010.     Look out for alterations in the execution of your software or
  2011.     system. Every change in their behaviour is suspect, unless you know
  2012.     its cause. Some highly suspicious alterations are:
  2013.     -   The amount of available memory space has decreased.
  2014.     -   Programs need more time for executing.
  2015.     -   Programs do not operate as they used to, or cause the computer
  2016.         to "hang" or reboot after some time.
  2017.     -   Data disappears or gets damaged.
  2018.     -   The size of one or more programs has increased.
  2019.     -   The screen behaves strangely, or you will find unusual
  2020.         information displayed here.
  2021.     -   ChkDsk detects many errors.
  2022.  
  2023.  
  2024.   5.2.  Confirmation
  2025.  
  2026.     Once you think your system may have a virus, try to get
  2027.     confirmation. You can get confirmation by using a virus scanner, or
  2028.     by booting from the uninfected write protected DOS diskette and
  2029.     comparing the files on the hard disk to the known uninfected
  2030.     original copies. DO NOT RUN ANY PROGRAM ON THE HARD DISK WHILE
  2031.     AND BEFORE PERFORMING THIS TEST TO PREVENT THE VIRUS GOING RESIDENT
  2032.     IN MEMORY. If the files have not been changed there is no file
  2033.     virus.  If they all get changed in the same way, it is very likely
  2034.     the files are infected by a virus. The bootsector is more difficult
  2035.     to test. Use the DOS SYS command to replace the bootsector in case
  2036.     of doubt.
  2037.  
  2038.  
  2039.  
  2040.  
  2041.                                     Page 31
  2042.  
  2043.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2044.  
  2045.  
  2046.     If you did not expect to find a virus but used the -analyze option
  2047.     of TbScan which detected a "virus", forget about it. The -analyze
  2048.     option has never caused a virus to be detected that remains
  2049.     undetected in normal scan sessions. It causes many false alarms
  2050.     instead.
  2051.  
  2052.  
  2053.   5.3.  Identification
  2054.  
  2055.     Indentify the virus. Why is this so important? Because if you know
  2056.     which virus caused you the trouble you know what the virus has
  2057.     exactly done, and whether your data files are still reliable or
  2058.     damaged. You can use a virus scanner to identify a virus. Once you
  2059.     know the name of the virus you have to obtain additional
  2060.     information about the virus. You can log on to our support BBS,
  2061.     consult professional literature, or consult a virus expert. If the
  2062.     virus only infects executable files you have only to replace the
  2063.     executable files. But if the virus swaps some bytes on a random
  2064.     location of your hard disk everytime you execute a program, you
  2065.     have to replace your data files too, even when you didn't see any
  2066.     changes in your data files.
  2067.  
  2068.  
  2069.   5.4.  No Panic!
  2070.  
  2071.     The most important thing to do is NOT PANIC! Panicking doesn't help
  2072.     you, as you need to be calm to deal with the situation properly.
  2073.     In most cases of virus infections in the past, most of the damage
  2074.     has been done by the operator of the system, not by the virus. Do
  2075.     nothing at all except for identifying the virus and obtaining
  2076.     information about the virus. Reformatting the hard disks
  2077.     immediately is the worst you can do. Once after you know exactly
  2078.     what the virus does, you can work out a strategy to recover.
  2079.     DO NOT MAKE A NEW BACKUP OF YOUR SYSTEM UNLESS YOU DON'T OVERWRITE
  2080.     AN ALREADY EXISTING BACKUP. In this case label the backup as being
  2081.     infected and unreliable.
  2082.  
  2083.  
  2084.   5.5.  Recovering
  2085.  
  2086.     For all recovery activities it is important to boot from your
  2087.     uninfected write-protected DOS diskette. Do NOT run any program
  2088.     from your hard disk! The virus must stay out of your memory while
  2089.     cleaning the system.
  2090.  
  2091.     Restore the DOS system and bootsector by using the DOS SYS command.
  2092.  
  2093.     In case of a file virus, restore all executables. A virus removal
  2094.     utility is not recommended unless you don't have a backup of the
  2095.     uninfected executable files. Depending on the virus it might also
  2096.     be necessary to replace all data files.
  2097.  
  2098.  
  2099.  
  2100.  
  2101.                                     Page 32
  2102.  
  2103.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2104.  
  2105.  
  2106.     If the system has been infected by a virus that modifies the
  2107.     partition table it might be necessary to perform a low level
  2108.     reformat of your hard disks. If you used an utility to backup the
  2109.     partition table (like TbRescue) it isn't necessary to reformat the
  2110.     disks, just restore the partition table.
  2111.  
  2112.     Once the system has been cleaned, check all diskettes, backups,
  2113.     etc. One infected diskette can cause you the same trouble again.
  2114.     It is highly recommended to protect your system against
  2115.     re-infections, since it is possible that you forgot to clean one
  2116.     floppy. Use a virus scanner frequently, install a resident scanner
  2117.     (like TbScanX), or better, install the Thunderbyte PC Immunizer.
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130.  
  2131.  
  2132.  
  2133.  
  2134.  
  2135.  
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.  
  2159.  
  2160.  
  2161.                                     Page 33
  2162.  
  2163.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2164.  
  2165.  
  2166. 6.  CONSIDERATIONS AND RECOMMENDATIONS
  2167.  
  2168.  
  2169.   6.1.  What should be scanned?
  2170.  
  2171.     In the early days of viruses, virus scanners just scanned
  2172.     everything. Today we know that this approach has serious
  2173.     disadvantages: the number of false alarmes is very high, the scan
  2174.     speed is very very slow, etc.
  2175.  
  2176.     Before we proceed, let's first establish some facts about viruses.
  2177.     A virus is just a program. Like any other program, if you don't
  2178.     execute it it will not do anything except for occupying disk space.
  2179.     This means that data files like text files can never spread a
  2180.     virus. Of course, it is possible to copy a virus into a .TXT file,
  2181.     but since the text file will never be executed, the virus will
  2182.     never be able to do anything. It is just a stream of bytes, like
  2183.     the text in the text file. A program and a boot sector however will
  2184.     be executed, and if they contain a virus the virus will gain
  2185.     control and perform its nasty operations.
  2186.  
  2187.     We now know that it doesn't make sense to scan non-executable
  2188.     files. Note that a batch file (.BAT) is just a text file, it can be
  2189.     "executed" in some way, buy it is not possible to make a virus in
  2190.     the batch file language. What we need to scan are files with the
  2191.     extensions EXE COM OV? SYS and BIN.
  2192.  
  2193.     What do these programs contain? Of course they contain program
  2194.     code, but they also contain data. The texts that will be displayed
  2195.     on the screen by that program are just data. They will never be
  2196.     "executed". The exe-header of an exe file does not contain any
  2197.     code, only data. The exe-header is only used by DOS to load the
  2198.     program, and it is thrown away before DOS passes control to the
  2199.     program. We don't have to scan it, that's easy enough. The same
  2200.     applies to the bytes after the so called load-module of the file.
  2201.     This area of a file will not be loaded in memory at first instance,
  2202.     so we can skip it also.
  2203.  
  2204.     Unfortunately, the remaining part of the executable file is most
  2205.     of the time the largest. The code-data ratio differs for each
  2206.     program, but on the avarage we can state that about one third of a
  2207.     program consists of data. However, it is hardly possible to divide
  2208.     a program into code and data. Even the operating system is not able
  2209.     to do this, only the program itself. What happens when you execute
  2210.     a program is that the operating system passes control to the file
  2211.     at a fixed location. The location is the first byte in case of a
  2212.     .COM file, or a location specified in the exe-header of a .EXE
  2213.     file.  This location is referred to as ENTRY-POINT in this manual.
  2214.     This location is the only location in a file from which we can be
  2215.     100% sure it contains code. For other locations we can only guess.
  2216.  
  2217.     How does a virus work?
  2218.  
  2219.  
  2220.  
  2221.                                     Page 34
  2222.  
  2223.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2224.  
  2225.  
  2226.     A virus that wants to infect a file can not just throw its viral
  2227.     code at a random location in that file, it won't work. The virus
  2228.     has to be sure that its code will be executed before the host
  2229.     program gains control. Why?  Because if the contaminated program
  2230.     finds itself altered it will behave unexpected. The program
  2231.     accesses internal resources that are overwritten by the virus and
  2232.     the program crashes. Besides, how does the virus know whether that
  2233.     random location will be ever executed?  There is only ONE location
  2234.     that will always be executed, and that is the entry-point of the
  2235.     program. To infect a file the virus has to link itself onto the
  2236.     entry-point and store the original instructions of the program at
  2237.     another place. The virus is now sure it will gain control instead
  2238.     of the host program, and the virus has the possibility to restore
  2239.     the original instructions before passing control to the host
  2240.     program. There has never been any virus reported that does not link
  2241.     itself to the entry-point of a program.
  2242.  
  2243.     This brings us to a very important fact: if we scan the location
  2244.     where we can find the first instructions of the program we are sure
  2245.     we are scanning the area where the virus would reside. TbScan uses
  2246.     this knowledge and normally scans a window of about 4Kb around the
  2247.     program's entry point. This is called "Checking". If you want to
  2248.     know more about this process consult chapter "The internals of
  2249.     TbScan".
  2250.  
  2251.     Note that it is not "unsafe" to restrict the area where we search
  2252.     for viruses. If the signatures are assembled according to this
  2253.     knowledge it is always possible to detect the virus in the scanning
  2254.     area. This tackle has been adopted by many other competitive virus
  2255.     scanners. If TbScan is not completely sure about the entry-point of
  2256.     the file it just scans all the program code of the file using the
  2257.     "browse" or "analyze" algorithm.
  2258.  
  2259.  
  2260.   6.2.  The internals of TbScan
  2261.  
  2262.     6.2.1.  How is that blazingly speed achieved?
  2263.  
  2264.         The speed of TbScan is achieved by many measures.
  2265.  
  2266.         To avoid false alarms, TbScan already scans restricted areas of
  2267.         the file, and of course, this approach also affects the speed
  2268.         in a positive way. Disk access is minimized, and not much data
  2269.         has to be searched.
  2270.  
  2271.         TbScan is entirely written in assembly language. High-level
  2272.         languages like Pascal and Basic have an enormous overhead which
  2273.         not only affects the size of the program but also reduces the
  2274.         execution speed.
  2275.  
  2276.         The search routine is highly optimized. Every byte to be
  2277.         scanned is only accessed once, regardless of the number of
  2278.  
  2279.  
  2280.  
  2281.                                     Page 35
  2282.  
  2283.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2284.  
  2285.  
  2286.         signatures. The scan speed will hardly decrease when it has to
  2287.         search for 3000 signatures instead of 300. The search algorithm
  2288.         used can be described as "rotating semi-double 16-bits hashing".
  2289.  
  2290.         TbScan uses the obsolete but faster FCB calls to access files.
  2291.         Yes, they ARE faster, it is tested on many machines. And
  2292.         besides, to manipulate files with FCB calls there are less DOS
  2293.         function calls required compared to the handle calls.
  2294.  
  2295.         The number of DOS function calls has been minimized. DOS is
  2296.         relatively slow, and access should be avoided as much as
  2297.         possible.  For this reason TbScan walks just once through a
  2298.         directory instead of first processing the files and secondly
  2299.         the subdirectories or vice versa. For the same reason TbScan
  2300.         does not use DOS to close the file or to move the file pointer.
  2301.         Yet another advantage of the FCB-system!
  2302.  
  2303.         TbScan writes directly to the screen instead of using DOS or
  2304.         the BIOS to do this. Although TbScan has a scrolling window,
  2305.         screen access is minimized as much as possible without
  2306.         affecting the visual appearance of the program.
  2307.  
  2308.         TbScan has a built-in disk cacher. A disk cacher is
  2309.         already installed on many machines, but a normal disk cacher
  2310.         slows down the scan speed of a virus scanner instead of
  2311.         increasing it! This slow down is caused by the disk cacher, that
  2312.         tries to make assumptions on what the program will read next,
  2313.         but fails doing so. The disk cacher fails because it doesn't
  2314.         know that every file is accessed just once, and it also doesn't
  2315.         know that the remaining part of a partial scanned file will not
  2316.         be accessed at all. The cacher wastes many clock cycles by
  2317.         reading ahead and maintaining megabytes of data which will not
  2318.         be accessed anymore by the scanner. On the other hand, the
  2319.         directories and the FAT are accessed a lot, and a disk cacher
  2320.         could increase the performace a lot if it would restrict itself
  2321.         to these areas.  The solution is to disable the standard disk
  2322.         cacher and installing one that "knows" which data will be
  2323.         re-used and which not. TbScan disables any disk cacher and
  2324.         installs its own one.  Depending on the hardware specifications
  2325.         of a machine, disabling the original cacher increases the
  2326.         scanning speed with about 10% and installing its own one with
  2327.         another 10%.
  2328.  
  2329.         TbScan dynamically optimizes the lookahead buffers of DOS (the
  2330.         Y parameter of the "BUFFERS=X,Y" command in the config.sys).
  2331.         Temporary disabling the DOS lookahead buffers increases the
  2332.         scanning speed for the same reasons as disabling a disk cacher
  2333.         increases the speed.
  2334.  
  2335.     6.2.2.  The code interpreter
  2336.  
  2337.         Viruses can infect program files only in certain ways. For a
  2338.  
  2339.  
  2340.  
  2341.                                     Page 36
  2342.  
  2343.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2344.  
  2345.  
  2346.         virus there is only one single point in a program file of which
  2347.         it is certain that it must be executed, namely the starting
  2348.         point of the program. It cannot be sure of any other point and
  2349.         that is why it will not try to put its first code on an
  2350.         arbitrary spot of the program that it is planning to infect.
  2351.         The virus will always have to put AT LEAST one instruction at
  2352.         the entry point of the program.
  2353.  
  2354.         TbScan uses this knowledge to restrict the number of bytes that
  2355.         have to be read in of a file as much as possible.  Just as the
  2356.         loader of DOS itself, it determines where the entry point of
  2357.         the program is located.  (At the beginning of a COM-file and on
  2358.         an address, specified in the EXE-header of an EXE-file.)
  2359.  
  2360.         This is however not enough; there can also be a jump or another
  2361.         branch instruction on the located entry point of the program.
  2362.         TbScan will follow this jump until it does not come across a
  2363.         jump anymore. Then we have found the real starting point of the
  2364.         program or, in case it has been infected, the virus.
  2365.  
  2366.         There is a possibility however that on a certain moment TbScan
  2367.         has reached the end of a chain of jumps and then finds that
  2368.         there are new significant IP modifying instructions (calls,
  2369.         rets, irets, jumps) not far from the found starting point.
  2370.         Does this future jump point to the virus code, or are we
  2371.         already on the right location?  TbScan does not take any chances
  2372.         and in such a case it will read in the whole file to search for
  2373.         viruses.  Only when it is 100% sure to have found the real
  2374.         starting point of a file, where in addition at least 20 bytes
  2375.         of continuous code are situated (the code is "stable" then),
  2376.         TbScan will be satisfied with checking only the surrounding 4
  2377.         Kb of the found code. (Almost all viruses use less than 4 Kb
  2378.         and of viruses using more than 4 Kb the signature in the first
  2379.         4 Kb of the virus is used as the signature.)
  2380.  
  2381.     6.2.3.  The algorithms
  2382.  
  2383.         When TbScan processes a file it prints "Checking", "Tracing",
  2384.         "Browsing", "Analyzing" or "Skipping".
  2385.  
  2386.       6.2.3.1.  Checking
  2387.  
  2388.         "Checking" means that TbScan has successfully located the entry
  2389.         point of the program, and is scanning a frame of about 4Kb
  2390.         around the entry point. If the file is infected the signature
  2391.         of the virus will be in this area. "Checking" is a very fast
  2392.         and reliable scan algorithm.
  2393.  
  2394.         Checking will be used on most files if you run TbScan in
  2395.         default mode.
  2396.  
  2397.       6.2.3.2.  Tracing
  2398.  
  2399.  
  2400.  
  2401.                                     Page 37
  2402.  
  2403.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2404.  
  2405.  
  2406.         "Tracing" means that TbScan has successfully traced a chain of
  2407.         jumps or calls to locate the entry point of the program, and is
  2408.         scanning a frame of about 4Kb around the entry point. If the
  2409.         file is infected the signature of the virus will be in this
  2410.         area. "Tracing" is a fast and reliable scan algorithm.
  2411.  
  2412.         Tracing will be primary used for TSR-type COM files.
  2413.  
  2414.       6.2.3.3.  Analyzing
  2415.  
  2416.         "Analyzing" means that TbScan is scanning the entire file
  2417.         (except for the exe-header which can not contain any viral
  2418.         code). This algorithm will be used if "Checking" or "Tracing"
  2419.         can not be safely used. This is the case when the entry-point
  2420.         of the program contains other jumps and calls to code located
  2421.         outside the scanning frame. "Analyze" is a slow algorithm.
  2422.         Because it processes almost the entire file (also data area's)
  2423.         there is a greater chance of false alarms. In the past all
  2424.         reported false alarms occured with this algorithm. This
  2425.         algorithm can be forced on the command line with the -analyze
  2426.         option. It is however not recommended for a routine scan due to
  2427.         its tend to issue false alarms. "Analyze" or "Browse" will be
  2428.         used while scanning memory, bootsectors, SYS and BIN files.
  2429.  
  2430.       6.2.3.4.  Browsing
  2431.  
  2432.         "Browsing" is almost the same algorithm as "Analyzing", but it
  2433.         performs a little better on files containing long sequences of
  2434.         low ASCII, 00 or FF bytes. On other files (like compressed
  2435.         files) it performs worse, so TbScan selects the best algorithm
  2436.         for every file.  "Browsing" is as reliable as "analyzing" but
  2437.         also has the same tendency to cause false alarms.  In fact,
  2438.         every dumb scan algorithm (i.e.  algorithm without
  2439.         intelligence) will suffer from this kind of unreliability.
  2440.  
  2441.       6.2.3.5.  Skipping
  2442.  
  2443.         "Skipping" will be performed on SYS and OVL files only.
  2444.         "Skipping" simply means that the file will not be scanned. As a
  2445.         matter of fact, there are many SYS files that contain no code
  2446.         (like CONFIG.SYS). It makes absolutely no sense to scan these
  2447.         files for viruses. The same applies to .OV? files. Only a few
  2448.         of them contain an EXE-header and are suitable for a virus. If
  2449.         a virus is reported to infect overlay files it means that the
  2450.         virus monitors the DOS exec-call (function 4Bh) and infects
  2451.         every program being invoked with this call. Overlay files
  2452.         without EXE-header will never be invoked via DOS, so no virus
  2453.         will be able to infect such an "overlay". If a file has the
  2454.         extension OV? but isn't really an overlay file it will be
  2455.         skipped. Surprisingly enough, most .OV? files are just named so
  2456.         by their programmers, but they are absolutely not real overlay
  2457.         files and a virus can infect them as much as it can do with a
  2458.  
  2459.  
  2460.  
  2461.                                     Page 38
  2462.  
  2463.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2464.  
  2465.  
  2466.         .TXT file, with other words: not at all.
  2467.  
  2468.         The -analyze switch forces TbScan to use "analyze" or "browse"
  2469.         on these files.
  2470.  
  2471.     6.2.4.  The -compat option
  2472.  
  2473.         The -compat option is used to increase compatibility if the
  2474.         default behaviour of TbScan causes problems. The differences
  2475.         between default and compatibility mode are:
  2476.  
  2477.         -       TbScan tries to bypass disk cachers in default mode.
  2478.                 However, in compatibility mode TbScan does not
  2479.                 interfere with the disk interrupts and will not disable
  2480.                 any disk caching software.
  2481.  
  2482.         -       In default mode, TbScan installs a disk cacher if
  2483.                 enough memory is available. In the compatibility mode
  2484.                 TbScan never installs the internal disk cacher.
  2485.  
  2486.         -       In default mode, TbScan dynamically optimizes the DOS
  2487.                 disk buffers (the Y-parameter of the BUFFERS=X,Y
  2488.                 command) to achive the best performance while scanning.
  2489.                 When TbScan terminates it restores the original DOS
  2490.                 configuration. However, in the compatibility mode
  2491.                 TbScan does not alter any internal DOS configuration.
  2492.  
  2493.         -       In default mode, TbScan does not close FCB's. Normally
  2494.                 DOS automatically closes the least recently used FCB's
  2495.                 when it runs out of empty FCB's. In compatibility mode
  2496.                 TbScan closes the FCB's, slowing down the performance
  2497.                 slightly.
  2498.  
  2499.         -       While scanning memory, TbScan temporary disables the
  2500.                 interrupts for each 32 Kb-block being scanned. In
  2501.                 compatibility mode however TbScan performs a
  2502.                 non-destructive scan and does not disable interrupts
  2503.                 at all. It offers the highest compatibility, but memory
  2504.                 scanning may slow down considerably in some
  2505.                 circumstances.
  2506.  
  2507.         -       If the -compat switch has been specified TbScan does
  2508.                 not use AVR-modules to scan memory. Files are still
  2509.                 processed by the AVR-modules. Memory AVR-modules might
  2510.                 contain virus specific function requests that might
  2511.                 interfere with resident software.
  2512.  
  2513.     6.2.5.  Recursing through directories
  2514.  
  2515.         Since you might be interested in a high scan speed rather than
  2516.         a well-organized scan order, TbScan digs into a subdirectory as
  2517.         soon as it detects one. This can result in a confusing screen
  2518.  
  2519.  
  2520.  
  2521.                                     Page 39
  2522.  
  2523.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2524.  
  2525.  
  2526.         output, files of subdirectories can be printed on the screen in
  2527.         a mixed order.
  2528.  
  2529.             root
  2530.                 file.1
  2531.                 file.2              subdir1
  2532.                 subdir1                 file.11
  2533.                 file.3                  file.12
  2534.                 file.4                  file.13
  2535.  
  2536.         Files will be accessed in the following order:
  2537.                 file.1
  2538.                 file.2
  2539.                 file.11
  2540.                 file.12
  2541.                 file.13
  2542.                 file.3
  2543.                 file.4
  2544.  
  2545.         Although file.2 and file.3 reside in the same directory the
  2546.         files of subdir1 will be inserted between them.
  2547.  
  2548.  
  2549.   6.3.  How many viruses does it detect?
  2550.  
  2551.     Some people think that TbScan recognizes only 300 viruses, based
  2552.     upon the fact that the signature file contains only 300 signatures.
  2553.     What they not realise is that the signatures are family
  2554.     signatures, and that means that just one signature covers multiple
  2555.     viruses. For instance, the Plo/Jerusalem signatures detects over 25
  2556.     viruses which are all based on the "original" Jerusalem virus! Only
  2557.     one (wildcarded) signature is used to cover all these mutants.
  2558.  
  2559.     Some competitive products count every virus mutant as a single
  2560.     virus, and it will not be suprising that they claim to detect over
  2561.     800 viruses. However, TbScan detects the same amount (and often
  2562.     more!) of viruses with "only" 300 signatures.
  2563.  
  2564.  
  2565.   6.4.  Testing the scanner
  2566.  
  2567.     Many people like to test the product they are using. While it is
  2568.     very easy to test for instance a word processor, it is very
  2569.     difficult to test a smart scanner like TbScan. You can not extract
  2570.     25 bytes of an executable and put it in the data file just to see
  2571.     whether TbScan finds the "signature". It is likely that TbScan does
  2572.     NOT find it because it only scans the entry-area of the file and
  2573.     the "signature" might be extracted from some other location within
  2574.     the file. Even the -analyze option will not always cause the
  2575.     "test-signature" to be detected.
  2576.  
  2577.     But, you might think, how can I test the scanner if defining a
  2578.  
  2579.  
  2580.  
  2581.                                     Page 40
  2582.  
  2583.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2584.  
  2585.  
  2586.     "test-signature" does not work? I think you can't, unless you are
  2587.     an experienced assembler programmer.  Sorry, but testing a
  2588.     disassembling scanner should be performed by virus experts only.
  2589.     Fortunately, you don't have to rely on our tests solely.  There are
  2590.     some anti-virus magazines who regulary publice tests of all virus
  2591.     scanners.  At the end of this document you will find some addresses
  2592.     of recommended magazines.  Anyway, third parties tested our scanner
  2593.     amongs others, and they found TbScan to have a very high hit rate.
  2594.     It detects even more viruses than many populair scanners.
  2595.  
  2596.  
  2597.   6.5.  Scan scheduling
  2598.  
  2599.     Is is recommended to "plan" how and when you scan your system.
  2600.     Creation of a special TbScan boot-diskette is highly recommended.
  2601.  
  2602.     Boot from your original DOS diskette. Use the diskcopy command to
  2603.     copy the DOS diskette to a new diskette. Delete all files on this
  2604.     diskette, except the two hidden system files and command.com.
  2605.     Copy all TbScan files to the diskette. Make a new autoexec.bat file
  2606.     which should contain the line "TbScan C:\".  Write protect the
  2607.     diskette with the write protect tab.
  2608.  
  2609.     The following scan sessions (listed in order of importance) are
  2610.     recommended:
  2611.  
  2612.     -   Run TbScan once a week without the -analyze and without the
  2613.         -quick option from A WRITE PROTECTED BOOTABLE DISKETTE. Boot
  2614.         from this diskette before invoking the scanner. We agree that
  2615.         it is awfull to boot from a diskette, but it is the only way to
  2616.         be sure that no stealth virus is resident in memory.
  2617.  
  2618.     -   It is recommended to invoke a daily scan without the -quick and
  2619.         without the -analyze option. You can invoke TbScan with the
  2620.         -once option from within the autoexec.bat file to perform the
  2621.         daily scan session automatically.  It is not necessary to boot
  2622.         from the bootable TbScan diskette to perform the daily scan.
  2623.  
  2624.     -   You can optionally run TbScan with the -quick option after the
  2625.         lunch.
  2626.  
  2627.     -   It is recommended to use the -analyze option once a month. Note
  2628.         that this option disables disassembly and algorithmic search,
  2629.         so it should not be used on every scan session.
  2630.  
  2631.     The -sector and the -mutant option should never be used in a normal
  2632.     scan session but only when you expect the system to have a virus.
  2633.  
  2634.  
  2635.   6.6.  Extensions to the format of the data file
  2636.  
  2637.     There are some other scanners which understand the data file format
  2638.  
  2639.  
  2640.  
  2641.                                     Page 41
  2642.  
  2643.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2644.  
  2645.  
  2646.     of TbScan. Some of these scanners understand certain extensions
  2647.     of the data file which can be considered really weird, and we will
  2648.     not implement them. These extensions include special signatures for
  2649.     upper memory, overlay files, and numerous specific confusing
  2650.     filename extensions, different keywords for the same items, and
  2651.     XOR-decryption directives.  TbScan scans the upper memory for
  2652.     LOW-type viruses (since any LOW-type TSR can be loaded in upper
  2653.     memory with DOS 5.0), overlay files for EXE-type viruses (since
  2654.     overlays are just a special kind of EXE file), and XOR decryptions
  2655.     can be performed better from within AVR modules.
  2656.  
  2657.  
  2658.   6.7.  Compressed files
  2659.  
  2660.     Many executable files are compressed or packed. They contain an
  2661.     unpack routine which unpacks the executable in memory to the
  2662.     original program image. The simplest compressor is the Microsoft
  2663.     ExePack program. This compressor is even included in the link
  2664.     program itself (use the /E option while linking to pack the
  2665.     executable), so it isn't surprising that many files are compressed.
  2666.  
  2667.     Many programs have been compressed afterwards. If the program
  2668.     contained a virus the virus has been compressed too. The virus will
  2669.     still be able to execute, but a scanner will no longer recognize
  2670.     the virus because the signature is compressed too.
  2671.  
  2672.     Note that if the file becomes infected after it has been compressed
  2673.     the virus is not compressed and will be visible as usual. The
  2674.     problem only exists when a file has been infected first and
  2675.     compressed afterwards.
  2676.  
  2677.     However, you can consider this as a minor problem, since files are
  2678.     often compressed by the programmer of the product, and most
  2679.     programmers are aware of the existence of viruses. If the
  2680.     programmer did not compress the file, well, then the file is not
  2681.     compressed and the problem does not exist at all. At least, if you
  2682.     obtain the original version of a program. If you obtain a "copy
  2683.     from a copy", well, one of the previous "owners" of the product
  2684.     might have compressed the file, and then you are in trouble.
  2685.  
  2686.     Anyway, if you have a virus inside a compressed file, the virus
  2687.     itself might not be visible on that file, but the other files that
  2688.     will be infected by this virus will carry the virus as usual, hence
  2689.     the signature will be visible for all the newly infected files. So,
  2690.     if you have a virus inside a compressed file, the scanner will
  2691.     still detect the presence of the virus on all other programs,
  2692.     except for the compressed file that brought the virus into your
  2693.     system.
  2694.  
  2695.     TbScan displays a "p" behind every file that might have been
  2696.     compressed with ExePack or any other compressor. TbScan does not
  2697.     unpack files, since too many files are compressed, and
  2698.  
  2699.  
  2700.  
  2701.                                     Page 42
  2702.  
  2703.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2704.  
  2705.  
  2706.     uncompressing every file would only be possible for a limited
  2707.     number of compression schemes, would be very time consuming, and
  2708.     last but not least not necessary. Once a compressed file has proved
  2709.     itself to contain not a virus, it will not be possible for the file
  2710.     to get infected internally afterwards. It makes no sense to unpack
  2711.     these files every time. If there isn't a virus the first time,
  2712.     there isn't one at subsequent times.
  2713.  
  2714.  
  2715.   6.8.  Other products
  2716.  
  2717.     A virus scanner is just one of the tools that are available to
  2718.     defend your system against viruses. Other products that might help
  2719.     you in your battle against viruses are:
  2720.  
  2721.     -   Checksummers.
  2722.         Calculating a cryptographic checksum (or CRC) of every file and
  2723.         comparing it with previously recorded information may tell you
  2724.         whether a file has been changed since the last checksum event.
  2725.         Keep in mind however that checksum programs work only reliable
  2726.         if the system is not infected while the initial checksum
  2727.         calculation is performed. Note also that no checksum program is
  2728.         able to detect stealth viruses, except if you boot from a clean
  2729.         write protected diskette before performing the checksum
  2730.         calculations.  Note also that it is normal that some
  2731.         executables change, they might store configuration information
  2732.         inside the executable itself.  It is up to the user to
  2733.         interpret the information of the checksummer.  Checksummers
  2734.         should only be used as an indication, but you can never rely on
  2735.         them. They have a high false positive rate, and also a high
  2736.         false negative rate. They can however be a handy additional
  2737.         tool.
  2738.  
  2739.     -   Memory resident scanners.
  2740.         Scanning a system should be performed often. However, if you
  2741.         extract a file from an archive, or download a file, or just
  2742.         copy a file from a diskette, you should re-invoke your scanner
  2743.         to check whether you brought a virus in your system. This is
  2744.         tedious, and not many people have the discipline to do this
  2745.         every time.  A resident scanner that automatically scans every
  2746.         file being created or modified on your system will be a
  2747.         valuable additional tool. Most resident scanners however
  2748.         consume much of your precious memory and slow down system
  2749.         performance. A resident scanner you might consider is TbScanX.
  2750.         It does not use much memory if you configure it to utilize
  2751.         expanded or unused video memory, and it performs very fast.
  2752.  
  2753.     -   Virus removal utilities.
  2754.         Virus removal utilities (also called cleaner software) can be
  2755.         used after a file has been infected, to separate the virus from
  2756.         the file.  Although the removal utilities are very populair we
  2757.         don't recommend to use them. You better restore the original
  2758.  
  2759.  
  2760.  
  2761.                                     Page 43
  2762.  
  2763.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2764.  
  2765.  
  2766.         files in case of infection. If you still don't have any backup,
  2767.         make it NOW! There are many viruses that look like known
  2768.         viruses but in fact they are a slightly different virus (a
  2769.         mutant). The removal utility might not recognise the virus as
  2770.         being a mutant, and the utility removes too many or too less
  2771.         bytes, causing all executables to get damaged inreversible.
  2772.  
  2773.     -   Memory resident monitoring software.
  2774.         It is possible to install software that monitors all DOS and
  2775.         BIOS activity and traps attempts to modify exectuable files,
  2776.         attempts to install TSR's, attempts to modify bootsectors, etc.
  2777.         Although these systems can be very reliable, it is always
  2778.         possible to bypass software with software. Keep also in mind
  2779.         that the protection software has to be in memory before any
  2780.         virus. This is possible for TSR type viruses, but bootsector
  2781.         viruses install themself in memory before any protection
  2782.         software can be loaded. And if the virus is in memory before
  2783.         the protection software, the virus can reroute all interrupts
  2784.         and the protection software will not be able to detect anything
  2785.         suspicious. Another disadvantage is that resident monitoring
  2786.         software consumes a lot of you precious memory.
  2787.  
  2788.     -   Hardware immunizers.
  2789.         Hardware immunizers are the best possible solution. They don't
  2790.         consume much memory, are guaranteed to be first in memory, they
  2791.         are even active before the machine tries to boot and they can
  2792.         not be bypassed. A disadvantage is that installing such a
  2793.         device is more difficult compared to other anti-virus tools,
  2794.         and requires a free expansion slot.
  2795.  
  2796.  
  2797.  
  2798.  
  2799.  
  2800.  
  2801.  
  2802.  
  2803.  
  2804.  
  2805.  
  2806.  
  2807.  
  2808.  
  2809.  
  2810.  
  2811.  
  2812.  
  2813.  
  2814.  
  2815.  
  2816.  
  2817.  
  2818.  
  2819.  
  2820.  
  2821.                                     Page 44
  2822.  
  2823.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2824.  
  2825.  
  2826. 7.  MISCELLANOUS INFORMATION
  2827.  
  2828.  
  2829.   7.1.  Notes
  2830.  
  2831.     Some people use a shell or batch file to extract a file from an
  2832.     archive and use TbScan to scan a file immediately. This works fine,
  2833.     except when you have a non-write-through disk cacher. In this case
  2834.     the just created file might not be written to the disk yet, and
  2835.     TbScan will not find the file because it bypasses the disk cacher.
  2836.     If this applies to you, write the files to a ramdisk, or use the
  2837.     -compat switch or flush the cacher before invoking TbScan.
  2838.  
  2839.  
  2840.   7.2.  Exit codes
  2841.  
  2842.     TbScan terminates with one of the following exit codes:
  2843.         Error level 2 when path or command line is not correct.
  2844.         Error level 1 when infected files were found.
  2845.         Error level 0 when everything was okay.
  2846.  
  2847.  
  2848.   7.3.  Updates
  2849.  
  2850.     If you use TbScan you will need updates of the data file. Depending
  2851.     on the appearance of new viruses, new signatures will be added. You
  2852.     can obtain the most recent data file on the Thunderbyte support
  2853.     Bulletin Board System and many other independent BBS's. The name of
  2854.     the file you should look for is VIRUSSIG.ZIP or TBVIRSIG.ZIP. On
  2855.     the same BBS systems you can also find the most recent update of
  2856.     the TbScan program. For a list of Bulletin Board System phone
  2857.     numbers you should consult chapter 9.
  2858.  
  2859.  
  2860.   7.4.  Thanks
  2861.  
  2862.     TbScan would not have been evolved to its current state without
  2863.     the contribution of numerous of peoples. Special thanks to:
  2864.  
  2865.     Jan Terpstra, for maintaining the signature file.
  2866.  
  2867.     Righard Zwienenberg, for testing TbScan on over 20Mb of viruses.
  2868.  
  2869.     John Lots, for beta-testing and technical advices.
  2870.  
  2871.     Alan Solomon, for testing and discovery of a FCB problem.
  2872.  
  2873.     Harry Thijssen, for stimulating the speed competition.
  2874.  
  2875.     Robin Bijland, for advisory of the user interface and manual.
  2876.  
  2877.  
  2878.  
  2879.  
  2880.  
  2881.                                     Page 45
  2882.  
  2883.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2884.  
  2885.  
  2886. 8.  OUR OTHER PRODUCTS
  2887.  
  2888.  
  2889.   8.1.  TbScanX
  2890.  
  2891.     There is also a (shareware) memory resident version of TbScan
  2892.     available with the name TbScanX. This version remains resident in
  2893.     memory and automatically scans every file immediately when it is
  2894.     going to be executed, copied, unarchieved, downloaded, etc.
  2895.  
  2896.     TbScanX performs even faster compared to TbScan, and uses not much
  2897.     memory. It is even possible to reduce the memory requirements of
  2898.     TbScanX to zero! TbScanX is by example able to make use of unused
  2899.     video-memory.
  2900.  
  2901.     TbScanX is available on many BBSses. It is of course also available
  2902.     at any Thunderbyte support BBS. At the end of this document you can
  2903.     find some phone numbers.
  2904.  
  2905.  
  2906.   8.2.  TbRescue
  2907.  
  2908.     Some viruses copy themself on the partition table of the hard disk.
  2909.     Unlike bootsector viruses, they are hard to remove. The only
  2910.     solution is to low-level the hard disk and to make a new partition
  2911.     table.
  2912.  
  2913.     TbRescue makes a backup of the partition table and bootsector, and
  2914.     this backup can be used to compare and restore the original
  2915.     partition table and bootsector once they are infected. You don't
  2916.     have to format your disk anymore. The program can also restore the
  2917.     CMOS configuration.
  2918.  
  2919.     If you don't have a backup of your partition table, TbRescue will
  2920.     try to create a new partition table, avoiding the need of a
  2921.     low-level format.
  2922.  
  2923.     Another important feature is that you can use TbRescue to replace
  2924.     the partition table code by code that is more resistant against
  2925.     viruses. The TbRescue partition code will be executed before the
  2926.     bootsector gains control, so it is able to check the bootsector in
  2927.     a clean environment. Once the bootsector is executed it is
  2928.     difficult to check it, because the virus is already resident in
  2929.     memory and can fool every protection. Instead of booting from a
  2930.     clean DOS diskette just to inspect the bootsector, the TbRescue
  2931.     partition code performs a CRC calculation on the bootsector just
  2932.     before control is passed to it. If the bootsector has been modified
  2933.     the Tbrescue partition code will warn you about this. The Tbrescue
  2934.     partition code also checks the RAM layout and informs you when it
  2935.     is changed. It does this every time you boot from your hard disk.
  2936.  
  2937.  
  2938.  
  2939.  
  2940.  
  2941.                                     Page 46
  2942.  
  2943.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  2944.  
  2945.  
  2946.   8.3.  Thunderbyte
  2947.  
  2948.     Thunderbyte was developed to protect Personal Computers against
  2949.     computer viruses, Trojan Horses and other threats to valuable data.
  2950.     It is a hardware protection, consisting of an adapter card, an
  2951.     installation and configuration program and a clear manual. The
  2952.     working of Thunderbyte is not based on knowledge of specific
  2953.     viruses, so Thunderbyte also protects against future viruses.
  2954.  
  2955.     A hardware protection offers much more protection than a software
  2956.     protection.  Thunderbyte is already active before the operating
  2957.     system is loaded, so the computer will be totally protected right
  2958.     after the starting of the PC.
  2959.  
  2960.     Because of the many configuration possibilities and the intelligent
  2961.     algorithms, the use of Thunderbyte will never become a burden: you
  2962.     will hardly notice the presence of Thunderbyte in an environment
  2963.     without any viruses.
  2964.  
  2965.     Of course Thunderbyte is Windows compatible and can be used in
  2966.     Local Area Networks.
  2967.  
  2968.     Advantages of a hardware protection:
  2969.  
  2970.     +   The protection uses very little (1Kb) RAM
  2971.  
  2972.     +   The protection is already active before the first boot attempt
  2973.         of the PC, and therefore protects also against bootsector
  2974.         viruses.  A software protection can not protect you against
  2975.         bootsector viruses, since it has not been executed at boot
  2976.         time.
  2977.  
  2978.     +   The hard disks can not be accessed directly anymore, because
  2979.         Thunderbyte is connected to the hard disk cable.
  2980.  
  2981.     +   It is impossible to forget to start Thunderbyte, even if the
  2982.         machine is booting with a diskette.
  2983.  
  2984.     Thunderbyte offers you many kinds of protection:
  2985.  
  2986.     +   Protection against loss of data.
  2987.  
  2988.         Thunderbyte is connected between the cable of the hard disk and
  2989.         the controller. It prevents the hard disk from being accessed
  2990.         directly. The only way to access the drive from now on is by
  2991.         using interrupt 13h.
  2992.  
  2993.         In addition Thunderbyte detects all direct disk writes which
  2994.         try to achieve a modification or damage of the data and it
  2995.         checks which program orders the execution of such operations.
  2996.         Only the operating system can preform these operations
  2997.         without Thunderbyte interception.
  2998.  
  2999.  
  3000.  
  3001.                                     Page 47
  3002.  
  3003.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  3004.  
  3005.  
  3006.         DOS already has the possibility of protecting files against
  3007.         overwriting and modification by means of the read only
  3008.         attribute.  However, this protection can be very easily
  3009.         eliminated by software. Thunderbyte prevents this protection
  3010.         from being ruled out without this being noticed, so now it is
  3011.         possible to protect your files effectively via a standard DOS
  3012.         command.
  3013.  
  3014.     +   Protection against infection.
  3015.  
  3016.         Thunderbyte protects programs (files with the extension EXE,
  3017.         COM or SYS) against infection by judging all modifications on
  3018.         their intention.  The functionality is not influenced by this.
  3019.         Compiling, linking, etc., are not disturbed and neither are
  3020.         programs that save their configuration internally.
  3021.         Furthermore, software can be protected via the aforementioned
  3022.         read only attribute.
  3023.  
  3024.         Attempts to modify the bootsector of the disk are detected, so
  3025.         the dreaded bootsector viruses are also eliminated. Keep in
  3026.         mind that the bootsector can hardly be protected by software.
  3027.         Only Thunderbyte already becomes active before the system tries
  3028.         to boot!
  3029.  
  3030.     +   Detection of viruses.
  3031.  
  3032.         In addition to the abovementioned ways of detecting the
  3033.         presence of viruses, Thunderbyte can also do so because viruses
  3034.         carry out a number of special operations. For example, the
  3035.         marking of already infected programs in order to recognize
  3036.         them, is detected by Thunderbyte.  So are the attempts of
  3037.         viruses to reside in the memory in a suspicious way and the
  3038.         abnormal manipulations with interrupt vectors.
  3039.  
  3040.     +   Password protection.
  3041.  
  3042.         Thunderbyte has the possibility of installing a password.
  3043.         There are two kinds of passwords: one that is always asked for
  3044.         or one that you only have to enter when attempts are made to
  3045.         start from a diskette instead of the hard disk.
  3046.  
  3047.     +   Safety.
  3048.  
  3049.         A lot of attention has been paid to the safety of Thunderbyte
  3050.         The program code of Thunderbyte is located in ROM and there is
  3051.         no way it can be modified.
  3052.  
  3053.         There is not one method of eliminating Thunderbyte through
  3054.         software. All the important settings are realized with the help
  3055.         of dipswitches on the adapter card.  And despite all their
  3056.         wasted intelligence, viruses will never be able to turn
  3057.         switches or to influence their read outs.
  3058.  
  3059.  
  3060.  
  3061.                                     Page 48
  3062.  
  3063.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  3064.  
  3065.  
  3066.         Viruses that approach the controller of the hard disk directly
  3067.         will have a rude awakening:  Thunderbyte will only pass disk
  3068.         writes when the write or format command has followed the normal
  3069.         (checked) course.
  3070.  
  3071.         There are a lot of different versions of Thunderbyte
  3072.         (functioning identically however) that are supplied randomly.
  3073.         Therefore is knowledge of the internal working of only one
  3074.         Thunderbyte system not sufficient to damage or destroy its
  3075.         protective working.
  3076.  
  3077.         Thunderbyte is constantly checking its own variables with a
  3078.         checksum different for each version.  The locations of the
  3079.         memory where the variables are maintained are also different
  3080.         for each version.
  3081.  
  3082.     +   Extra possibilities.
  3083.  
  3084.         Thunderbyte offers you some interesting bonuses, like booting
  3085.         from drive B:.
  3086.  
  3087.  
  3088.  
  3089.  
  3090.  
  3091.  
  3092.  
  3093.  
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.  
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.  
  3106.  
  3107.  
  3108.  
  3109.  
  3110.  
  3111.  
  3112.  
  3113.  
  3114.  
  3115.  
  3116.  
  3117.  
  3118.  
  3119.  
  3120.  
  3121.                                     Page 49
  3122.  
  3123.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  3124.  
  3125.  
  3126. 9.  NAMES AND ADDRESSES
  3127.  
  3128.  
  3129.   9.1.  Contacting the author.
  3130.  
  3131.     TbScan is written by Frans Veldman. You can leave messages on the
  3132.     Dutch support BBS. Registered users can also phone ESaSS for
  3133.     technical support.
  3134.  
  3135.  
  3136.   9.2.  ESaSS
  3137.  
  3138.     For more information about Thunderbyte you can contact:
  3139.  
  3140.     ESaSS B.V.                          Tel:  + 31 - 80 - 787 881
  3141.     P.o. box 1380                       Fax:  + 31 - 80 - 789 186
  3142.     6501 BJ  Nijmegen                   Data: + 31 - 85 - 212 395
  3143.     The Netherlands                         (2:280/200 @fidonet)
  3144.  
  3145.  
  3146.   9.3.  Thunderbyte support BBS's.
  3147.  
  3148.     TbScan, TbScanX and the signature files (TbVirSig) are available on
  3149.     Thunderbyte support BBS's:
  3150.  
  3151.     Thunderbyte headquarters in the Netherlands:       +31- 85- 212 395
  3152.     (2:280/200 @fidonet)
  3153.  
  3154.     Thunderbyte support Germany (Androtec):            +49- 2381- 461565
  3155.     (2:245/50 @fidonet)
  3156.  
  3157.     Thunderbyte support Italy/S.Marino/Vaticano/Malta: +39- 766- 540 899
  3158.     (2:335/5 @fidonet)
  3159.  
  3160.     Thunderbyte support Australia (Calmer):            +61- 2- 482- 1716
  3161.  
  3162.  
  3163.     If you are running an electronic mail system, you can also
  3164.     file-request TBSCAN to get the latest version of TBSCAN.EXE,
  3165.     TBSCANX to get the resident automatic version of TBSCANX, and
  3166.     VIRUSSIG to obtain a copy of the latest update of the signature
  3167.     file.
  3168.  
  3169.  
  3170.   9.4.  Recommended magazines and organisations.
  3171.  
  3172.     Virus Bulletin.
  3173.     Virus Bulletin Ltd.
  3174.     21 The Quadrant, Abingdon Science Park, Oxon, OX14 3YS, England.
  3175.     Tel. +44-235-555139.
  3176.  
  3177.  
  3178.  
  3179.  
  3180.  
  3181.                                     Page 50
  3182.  
  3183.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  3184.  
  3185.  
  3186.     National Computer Security Association.
  3187.     227 West Main Street.
  3188.     Mechanicsburg, PA 17055, United States.
  3189.     Tel. +1-717-258-1816
  3190.  
  3191.  
  3192.     Virus News International.
  3193.     Berkley court, Millstreet, Berkhamsted, Hertfordshire, HP4 2HB,
  3194.     England.
  3195.     Tel. +44-442-877877.
  3196.  
  3197.  
  3198.  
  3199.  
  3200.  
  3201.  
  3202.  
  3203.  
  3204.  
  3205.  
  3206.  
  3207.  
  3208.  
  3209.  
  3210.  
  3211.  
  3212.  
  3213.  
  3214.  
  3215.  
  3216.  
  3217.  
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.  
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.  
  3238.  
  3239.  
  3240.  
  3241.                                     Page 51
  3242.  
  3243.  Thunderbyte virus detector v3.1 (C) Copyright 1991 ESaSS B.V.
  3244.  
  3245.  
  3246.  
  3247.  
  3248.  
  3249.  
  3250.  
  3251.  
  3252.  
  3253.  
  3254.  
  3255.  
  3256.  
  3257.  
  3258.  
  3259.  
  3260.  
  3261.  
  3262.  
  3263.  
  3264.  
  3265.  
  3266.  
  3267.  
  3268.  
  3269.  
  3270.  
  3271.  
  3272.  
  3273.  
  3274.  
  3275.  
  3276.  
  3277.  
  3278.  
  3279.  
  3280.  
  3281.  
  3282.  
  3283.  
  3284.  
  3285.  
  3286.  
  3287.  
  3288.  
  3289.  
  3290.  
  3291.  
  3292.  
  3293.  
  3294.  
  3295.  
  3296.  
  3297.  
  3298.  
  3299.  
  3300.  
  3301.                                     Page 52